-
聯合查詢
概念:將多個查詢的結果合併在一起,字段數不變,多個查詢的記錄數合併。
基本語法:select 語句 Union [distinct/all] select 語句;
Order by的使用
基本語法:(select 語句 order by 字段 [asc/desc] limit n,m) Union [distinct/all] (select 語句 order by 字段 [asc/desc] limit n,m);
注意:聯合查詢中使用order by必須在select 語句前後加括號且必須有limit限制。
-
連接查詢
交叉連接(產生笛卡爾積)
基本語法:select */字段列表 from 表1 cross join 表2;
內連接
inner join,從一張表中取出所有的記錄去另外一張表中匹配,利用匹配條件進行匹配,成功則保留,失敗就放棄。
基本語法: select */字段列表 from 表1 inner join 表2 on 匹配條件;
注意:沒有匹配條件等於交叉查詢。
外連接
outer join,按照某一張表作爲主表,拿主表每一條記錄去匹配另一張表的每一條記錄,匹配成功保留,失敗也保留(從表數據爲NULL)。
左外連接:left join,左表爲主表
右外連接:right join,右表爲主表
基本語法:
左連接:select */字段列表 from 主表 left join 從表 on 連接條件;
右連接:select */字段列表 from 從表 right join 主表 on 連接條件;
Using 關鍵字
用於連接查詢中替換對應的on關鍵字,進行條件匹配
基本語法 :select */字段列表 from 從表 [inner/left/right] join 主表 using(同名字段列表);