內連線,左連線,右連線,全連線

2021-08-20 04:28:52 字數 1453 閱讀 3780

內連線,左連線,右連線,全連線

表t1:                     表t2:

id name passwd id jifen dengji

1 jack jpw 1 20 3

2 tom tpw     3 50 4

1,內連線

如果想把使用者資訊、積分、等級都列出來,那麼一般會這樣寫:

普通:select * from t1, t2 where t1.id = t2.id

內連:select * from t1 inner join t2 on t1.id = t2.id

後者的效率比前面的效率高多了,建議使用內連

2,左連線

顯示左表t1中的所有行,並把右表t2中符合條件加到左表t1中;

右表t2中不符合條件,就不用加入結果表中,並且null表示。

sql語句:select * from t1 left join t2 on t1.id = t2.id

執行結果 :

t1.id name passwd t2.id jifen dengji

1  jack jpw   1  20 3

2 tom tpw null null null

3,右連線

顯示右表t2中的所有行,並把左表t1中符合條件加到右表t2中;

左表t1中不符合條件,就不用加入結果表中,並且null表示。

sql語句:select * from t1 right join t2 on t1.id = t2.id

執行結果:

t1.id name passwd t2.id jifen dengji

1 jack jpw 1 20 3

null null null 3 50 4

4,全連線

顯示左表t1、右表t2兩邊中的所有行,即把左聯結果表 + 右聯結果表組合在一起,然後過濾掉重複的。sql語句:

select * from t1 full join t2 on t1.id = t2.id

執行結果

t1.id name passwd t2.id jifen dengji

1 jack jpw 1 20 3

2 tom tpw null null null

null null null 3 50 4

Oracle 內連線,左連線 右連線 全連線

此處用到兩張表 員工表和部門表 一般的相等連線 select from a,b where a.id b.id 這個就屬於內連線。內連線 1 等值連線 sql select emp.empno emp.ename emp.deptno,2 dept.deptno dept.loc 3from emp...

Oracle 內連線,左連線 右連線 全連線

此處用到兩張表 員工表和部門表 一般的相等連線 select from a,b where a.id b.id 這個就屬於內連線。內連線1 等值連線 sql select emp.empno,emp.ename,emp.deptno,2 dept.deptno,dept.loc 3 from emp...

內連線,外連線,左連線,右連線,全連線

連線是指將關聯式資料庫中的兩個表根據內容一定的條件連線成乙個表.內連線是最常用的鏈結,也叫等值鏈結,最常見的格式是 selecta.b.fromta as a tb as b wherea.id b.id 或者 selecta.b.fromtaasainnerjoin tbasb on a.id b...