SQL表連接圖解
可以通過圖看下

多表查詢分為 內(nèi)、外連接
外連接分為左連接(left join 或left outer join)、右連接(right join 或者 right outer join)、和完整外部連接 (full join 或者 full outer join)
左連接(left join 或 left outer join)的結(jié)果就是left join子句中的左表的所有行,而不僅僅是鏈接列所匹配的行,如果左表中的某行在右表中沒有匹配,則在相關(guān)聯(lián)的結(jié)果行中右表的所有選擇列均為空值(NULL)
SQL語法 select * from table1 left join table2 on table1.條件列名 = table2.條件列名;
注釋: 顯示的就是table1中的所有列和能匹配的列
右連接(right join 或 right outer join )在這里不做多說這左連接很象但是是相反的,只說一下語法
select *from table1 right join table2 on table1. 條件列= table2.條件列
完全外部連接(full join 或 full outer join)
顯示左右表中的所有行,當(dāng)某一個表中沒有匹配的行時,則另一個表的選擇列表列包含空值(NULL)如果有則顯示全部數(shù)據(jù)
SQL語法:
select *from table1 full join table2 on table1.條件列名= table2.條件列名
內(nèi)連接:
概念:內(nèi)連接就是用比較運算符比較要用連接列的值的連接
內(nèi)連接(join 或者inner join )
SQL語法:
select *fron table1 join table2 on table1.條件列名 = table2.條件列名
返回符合匹配條件的兩表列
等價于:
select A* ,B* from table1 A ,table2 B where A.條件列名 =B.條件列名
select *form table1 cross join table2 where table1.條件列名 = table2.條件列名(注: Cross join 后面不能跟on 只能用where)
交叉連接(完全)
概念:沒有用where子句的交叉連接將產(chǎn)生連接所涉及的笛卡爾積第一個表的行數(shù)乘以第二個表的行數(shù)等于笛卡爾積和結(jié)果集的大小
交叉連接: Cross join(不帶條件where,如果帶返回或顯示的是匹配的行數(shù))
SQL語法:
select *from table1 cross join table2
如果有條件(where)
select * from table1 cross join table2 where table1. 條件列名= table2.條件列名
等價于
select *from table1,table2 (不帶where)
相關(guān)文章
在ACCESS和SQL Server下Like 日期類型查詢區(qū)別
Like 和日期類型在ACCESS和SQL Server的區(qū)別,需要的朋友可以參考下。2009-10-10
SQL注入滲透測試以及護(hù)網(wǎng)面試題和解答總結(jié)
現(xiàn)在SQL注入仍然是最流行的攻擊方法之一,開發(fā)人員為此頭疼,下面這篇文章主要給大家介紹了關(guān)于SQL注入滲透測試以及護(hù)網(wǎng)面試題和解答的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-01-01
neo4j圖數(shù)據(jù)庫安裝實踐與報錯問題的解決
這篇文章主要介紹了neo4j圖數(shù)據(jù)庫安裝實踐與報錯問題的解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02
把Navicat中數(shù)據(jù)庫所有表導(dǎo)出的方法
通過Navicat導(dǎo)出數(shù)據(jù)庫中的數(shù)據(jù)是比較常用的操作之一,下面這篇文章主要給大家介紹了關(guān)于如何把Navicat中數(shù)據(jù)庫所有表導(dǎo)出的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06
數(shù)據(jù)庫分庫分表是什么,什么情況下需要用分庫分表
這篇文章主要介紹了數(shù)據(jù)庫分庫分表是什么,什么情況下需要用分庫分表,需要的朋友可以參考下2021-03-03

