多表查詢(下)
一. 聯合查詢
聯合查詢:將多次查詢結果合并,形成新的查詢結果集
select {欄位串列} from {表A} ...
union [all]
select {欄位串列} from {表B} ...;
-
union all 會顯示重復的部分,union 會去重,重復的部分只顯示一次,
-
聯合查詢的多張表的列數必須保持一致,欄位型別也要保持一致,
二. 子查詢
概念:在SQL陳述句中嵌套使用select陳述句,稱為嵌套查詢,也稱為子查詢,
- 語法舉例:
select * from tb1 where column1 = (select column1 from tb2);
- 子查詢外部的陳述句可以是 insert/update/delete/select 的任何一個,
- 根據子查詢結果不同,可分類為:
- 標量子查詢:子查詢的結果為單個值
- 列子查詢:子查詢結果為一列
- 行子查詢:子查詢結果為一行
- 表子查詢:子查詢結果為多行多列
- 前一條中的回傳結果指的是語法后面括號內的回傳結果,

- 根據子查詢位置,可分類為:where之后、from之后、select之后,
1. 標量子查詢
標量子查詢:回傳結果是單個值(數字、字串、日期等),
- 常用運算子:= / <> / >= / < / <=
2. 列子查詢
列子查詢:子查詢結果為一列(可以是多行)
- 常用運算子: in / not in / any / some / all

3. 行子查詢
行子查詢:子查詢結果為一行(可以是多列)
- 常用運算子:**= / <> / in / not in **
4. 表子查詢
表子查詢:子查詢結果為多行多列
- 常用運算子:in
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/545639.html
標籤:MySQL
下一篇:redis(14)主從復制
