SQL 表的連線

2021-10-07 12:05:07 字數 900 閱讀 1237

多表連線分為以下幾種型別:

1)左聯結(left join),聯結結果保留左表的全部資料

2)右聯結(right join),聯結結果保留右表的全部資料

3)內聯結(inner join),取兩表的公共資料

關於多表連線,以及如何使用聯結的型別。記住下面這張圖即可:

力扣175. 組合兩個表

題目描述:

題目要求:編寫乙個 sql 查詢,滿足條件:無論 person 是否有位址資訊,都需要基於上述兩表提供 person 的以下資訊

firstname, lastname, city, state

分析:

按照題目資訊,應該保留左表的所有資訊,因此需要使用左連線。

select p.firstname,p.lastname,a.city,a.state 

from person p

left

join address a

on p.personid=a.personid;

1、on條件是在生成臨時表時使用的條件,它不管on中的條件是否為真,都會返回左邊表中的記錄。

2、where條件是在臨時表生成好後,再對臨時表進行過濾的條件。這時已經沒有left join的含義(必須返回左邊表的記錄)了,條件不為真的就全部過濾掉。

mysql表連線sql表 MYSQL表連線查詢

表連線查詢 一 交叉連線 笛卡爾積 查詢teacher和course表中所有的資料 select from teacher,course select name,courseid,course.id,cname from teacher,course where teacher.courseid c...

SQL表交叉連線

mssql文件中也叫交叉聯接.好比 a表裡面的a,b,c 查詢符合a x 條件的.b表裡面 d,e,f 查詢符合 d 1 語句 select a.a,a.b,a.c,b.d,b.e b.f from a,b where a.a x b.d 1 這個是錯的.錯在 怎麼改?把 where裡面的,改為an...

sql語句 連線表

cartesian join 笛卡爾連線 表1的每一行同表2的每一行結合做為一條記錄。這樣的查詢將返回 表1行數 x 表2行數 條記錄。這樣的連線沒有什麼使用者只是說明了所有連線是把表進行組合的。equi join 相等連線 一般用在表間有相同屬性的列。如有員工表和員工工資表,兩個表中都有員工號這一...