sql join語句總結

2022-09-19 08:18:10 字數 761 閱讀 9362

所有的join語句都跟連線順序相關

1、cross join(交叉聯接):生成笛卡爾積後,一定不能寫on或where條件。

eg:select * from table_2 a cross join table_1 b

2、inner join(內聯接):生成笛卡爾積後根據on條件篩選 

eg:select * from table_1 a  inner join table_2 b on a.id=b.userid 

此語句相當於:select * from table_1 a,table_2 b  where a.id=b.userid 

3、left [outer] join(左外聯):在inner join的資料的基礎上加上左表中沒有滿足篩選的記錄,並將其剩餘欄位設為null

eg: select * from table_1 a left join table_2 b on a.id=b.userid

4、right [outer] join(右外聯):與左外聯相似,在inner join的資料的基礎上加上右表中沒有滿足篩選的記錄,並將其剩餘欄位設為null

eg:select * from table_1 a right join table_2 b on a.id=b.userid

5、full [outer] join(全外聯):(左外聯+右外聯的超集)

select * from table_1 a full join table_2 b on a.id=b.userid

注:中括號表示可省略。

關於 SQL join 語句

幾種sql json查詢語句如下圖 其中 full outer join 連線無法在mysql中使用,可用 union 代替。注意 union all 命令和 union 命令幾乎是等效的,不過 union all 命令會列出所有的值。select select list from tablea a...

SQL join語句詳解

表一 person idname1劉備 2趙雲3華佗 4諸葛亮 表二 event idevent 1桃園結義 4七擒孟獲 5大意失荊州 6火燒連營 內連線是最常見的一種連線,只連線匹配的行。例 select from person p inner join event e on p.id e.id ...

精妙SQL語句 sql join語句

文章出處 精妙sql語句 sql join語句 說明 複製表 只複製結構,源表名 a 新錶名 b sql select into b from a where 1 1 說明 拷貝表 拷貝資料,源表名 a 目標表名 b sql insert into b a,b,c select d,e,f from...