SQL的Join使用圖解教程
假設(shè)我們有兩張表。
Table A 是左邊的表。
Table B 是右邊的表。
其各有四條記錄,其中有兩條記錄是相同的,如下所示:
id name id name
-- ---- -- ----
1 Pirate 1 Rutabaga
2 Monkey 2 Pirate
3 Ninja 3 Darth Vader
4 Spaghetti 4 Ninja
下面讓我們來看看不同的Join會產(chǎn)生什么樣的結(jié)果。
|
SELECT * FROM TableA id name id name |
![]() |
|
SELECT * FROM TableA id name id name |
![]() |
|
SELECT * FROM TableA id name id name |
![]() |
|
SELECT * FROM TableA id name id name |
![]() |
|
SELECT * FROM TableA id name id name |
|
SELECT * FROM TableA
CROSS JOIN TableB
這個笛卡爾乘積會產(chǎn)生 4 x 4 = 16 條記錄,一般來說,我們很少用到這個語法。但是我們得小心,如果不是使用嵌套的select語句,一般系統(tǒng)都會產(chǎn)生笛卡爾乘積然再做過濾。這是對于性能來說是非常危險的,尤其是表很大的時候。
相關(guān)文章
sqlserver數(shù)據(jù)庫規(guī)模膨脹太大怎么優(yōu)化
數(shù)據(jù)庫規(guī)模膨脹是SQLServer數(shù)據(jù)庫運維中常見的問題之一,本文介紹了一些緩解膨脹問題的方法,包括增加內(nèi)存、數(shù)據(jù)壓縮、數(shù)據(jù)庫分區(qū)等,在實踐過程中,應(yīng)根據(jù)具體情況,采取適當(dāng)?shù)姆椒?以達(dá)到最優(yōu)的緩解膨脹問題的效果2024-02-02
50個常用sql語句 網(wǎng)上流行的學(xué)生選課表的例子
這篇文字在網(wǎng)上被轉(zhuǎn)載爛了,里面有些sql適合用在應(yīng)用系統(tǒng)里,有些“報表”的感 覺更重些,主要是想復(fù)習(xí)前者2012-06-06
SQL Server 查詢處理中的各個階段(SQL執(zhí)行順序)示例
SQL不同于與其他編程語言的最明顯特征是處理代碼的順序,以下就為大家詳細(xì)的介紹一下,需要的朋友可以參考下2013-07-07
sql server建表時設(shè)置ID字段自增的簡單方法
這篇文章主要介紹了 sql server建表時設(shè)置ID字段自增的簡單方法,需要的朋友可以參考下2017-10-10





