MySql語句 DQL 多表查詢

2021-10-09 16:42:14 字數 1544 閱讀 2122

子查詢1. 出現的位置:

2. 條件

分類:

兩表上下連線,共同顯示

分類

內連線(兩表相乘-笛卡爾積)

笛卡爾積

·

外連線
外連線分主次,左外以左為主,右外以右為主,主表的每一項都會顯示,無論是否滿足條件!

當不滿足條件時,次表使用null來補位!

左外連線
左外:select

*from 表1 別名1

left

outer

join 表2 別名2

on 別名1.xx=別名2.xx

左表記錄無論是否滿足條件都會查詢出來,而右表只有滿足條件才能出來。

左表中不滿足條件的記錄,右表部分都為null。

左外自然:select

*from 表1 別名1

natural

left

outer

join 表2 別名2

右外連線
右外:select

*from 表1 別名1

right

outer

join 表2 別名2

on 別名1.xx=別名2.xx

右表記錄無論是否滿足條件都會查詢出來,而左表只有滿足條件才能出來。

右表不滿足條件的記錄,其左表部分都為null。

右外自然:select

*from 表1 別名1

natural

right

outer

join 表2 別名2

全連線
mysql不支援全連線

可以使用 union 來完成全鏈結, 左外 union 右外 可以得到全外連線結果!

查詢中有查詢(select關鍵字的個數大於1!)

多行單列 : in, all, any

單行單列:select

*from 表1 別名1

where 列1

[=、>、<、>=、<=、!=](

select 列 from 表2 別名2

where 條件)

多行單列:select

*from 表1 別名1

where 列1[in

,all

,any](

select 列 from 表2 別名2

where 條件)

單行多列:select

*from 表1 別名1

where

(列1,列2)in

(select 列1

, 列2

from 表2 別名2

where 條件)

多行多列:select

*from 表1 別名1,(

select..

..) 別名2

where 條件

MySQL基礎 DQL語句(基礎查詢)

基礎查詢 語法 select 查詢列表 from 表名 備註 1.查詢列表可以是 表中的字段,常量值,表示式 2.查詢的結果是乙個虛擬的 查詢示例 1.查詢表中的單個字段 select last name from employees 2.查詢表中的多個字段 多個字段之間用 隔開 select la...

多表操作(DQL)

多表操作dql 表之間的關係 合併結果集 連線查詢 子查詢表與表的關係 一對多 主外來鍵關聯並且外來鍵也是獨一無二 例如 一夫一妻制 husband id husband name1張三 2李四3王五 wife id wife name husband id1孫七 12周八2 3吳九3 wife表的...

MySQL基本多表查詢語句

所謂的多表查詢就是同時查詢多張表才能得到需要的資料 1.簡要概述 將乙個查詢結果作為另乙個查詢語句的一部分 select from employee where salary select max salary from employee 子查詢需要放在 中先執行子查詢,將子查詢的結果作為父查詢的一...