九丶分頁查詢
9-1丶分頁查詢基本概念
應用場景:當要顯示的數(shù)據(jù)桥爽,一頁顯示不全逝她,需要分頁提交sql請求
語法:
select 查詢列表
from 表
【join type】 join 表2
on 連接條件
where 篩選條件
group by 分組字段
having 分組后的篩選
order by 排序的字段】
limit 【offset,】size;
offset要顯示條目的起始索引(起始索引從0開始)
size 要顯示的條目個數(shù)
特點:
①limit語句放在查詢語句的最后
②公式
要顯示的頁數(shù) page款筑,每頁的條目數(shù)size
select 查詢列表
from 表
limit (page-1)*size,size;
size=10
page
1 0
2 10
3 20
9-2丶分頁查詢案例
案例1:查詢前五條員工信息
SELECT * FROM employees LIMIT 0,5;
SELECT * FROM employees LIMIT 5;
案例2:查詢第11條——第25條
SELECT * FROM employees LIMIT 10,15;
案例3:有獎金的員工信息不瓶,并且工資較高的前10名顯示出來
SELECT
*
FROM
employees
WHERE commission_pct IS NOT NULL
ORDER BY salary DESC
LIMIT 10 ;
十丶聯(lián)合查詢
10-1丶聯(lián)合查詢基本概念
union 聯(lián)合 合并:將多條查詢語句的結果合并成一個結果
語法:
查詢語句1
union
查詢語句2
union
...
應用場景:
要查詢的結果來自于多個表掷贾,且多個表沒有直接的連接關系隙姿,但查詢的信息一致時
特點:★
1蜒茄、要求多條查詢語句的查詢列數(shù)是一致的唉擂!
2、要求多條查詢語句的查詢的每一列的類型和順序最好一致
3檀葛、union關鍵字默認去重玩祟,如果使用union all 可以包含重復項
10-2丶聯(lián)合查詢案例
#引入的案例1:查詢部門編號>90或郵箱包含a的員工信息
SELECT * FROM employees WHERE email LIKE '%a%' OR department_id>90;;
SELECT * FROM employees WHERE email LIKE '%a%'
UNION
SELECT * FROM employees WHERE department_id>90;
#案例2:查詢中國用戶中男性的信息以及外國用戶中年男性的用戶信息
SELECT id,cname FROM t_ca WHERE csex='男'
UNION ALL
SELECT t_id,tname FROM t_ua WHERE tGender='male';
UNION結果
結果