MySQL實戰(zhàn) 目錄
1.分頁查詢
數(shù)據記錄條數(shù)過多的時候,需要分頁查詢
語法:
SELECT 查詢字段
FROM 表名
WHERE .... 等等前面學過的所有語法
limit offset(開始記錄索引,是從0開始的),size(要取出的條數(shù));
案例:查詢前5條員工數(shù)據
SELECT *FROM employees LIMIT 0,5;
注意:如果從第一條開始,這個0可以省略:SELECT * FROM employees LIMIT 5;
案例:查詢第11條到第25條
SELECT *FROM employees LIMIT 10,15;
案例:查詢有獎金且工資最高的前10名的員工信息
SELECT * FROM employees WHERE commission_pct IS NOT NULL
ORDER BY salary DESC LIMIT 10;
分頁查詢的特點:
1.limit 語句是位置上要放在比order by 語句的還后面,
其次中sql執(zhí)行過程中,limit也是最后去執(zhí)行的語句。
2.通用的分頁查詢寫法(page:總頁數(shù),size:每頁顯示的記錄條數(shù))
SELECT 查詢列表
FROM 表名
LIMIT (page-1)*size,size;
size=10
page 和 size 記錄范圍 和 起始記錄索引值 limit
1 10 1-10條 0 0,10
2 10 11-20條 0 10,10
3 10 21-30條 0 20,10
4 10 31-40條 0 30,10
2.聯(lián)合查詢
關鍵字union,作用就是將多余查詢語句的結果合并成一個結果集;
案例:查詢部門編號大于100或名字中含有a字符的員工信息
SELECT *FROM employees WHERE department_id >100 OR last_name LIKE '%a%';
SELECT *FROM employees WHERE department_id >100
UNION
SELECT *FROM employees WHERE last_name LIKE '%a%';
案例:查詢學校所有男老師和男學生的信息
SELECT tno 編號 ,tname 名字,tsex 性別 ,tbirthday 出生日期 FROM teachers WHERE tsex='男'
UNION
SELECT sno,sname,ssex,sbirthday FROM students WHERE ssex='男';
聯(lián)合查詢的特點:
- 聯(lián)合查詢的兩個子查詢的查詢列表要一致
- 要求聯(lián)合查詢的子查詢的查詢列表順序要在內容上保持一致
- 使用'union'聯(lián)合默認會自動去重,如果不想去重可以將'union'改為'union all'