SQL的Join使用圖解教程
假設我們有兩張表。
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)生什么樣的結果。
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)生笛卡爾乘積然再做過濾。這是對于性能來說是非常危險的,尤其是表很大的時候。
相關文章
sqlserver數(shù)據(jù)庫規(guī)模膨脹太大怎么優(yōu)化
數(shù)據(jù)庫規(guī)模膨脹是SQLServer數(shù)據(jù)庫運維中常見的問題之一,本文介紹了一些緩解膨脹問題的方法,包括增加內(nèi)存、數(shù)據(jù)壓縮、數(shù)據(jù)庫分區(qū)等,在實踐過程中,應根據(jù)具體情況,采取適當?shù)姆椒?以達到最優(yōu)的緩解膨脹問題的效果2024-02-0250個常用sql語句 網(wǎng)上流行的學生選課表的例子
這篇文字在網(wǎng)上被轉載爛了,里面有些sql適合用在應用系統(tǒng)里,有些“報表”的感 覺更重些,主要是想復習前者2012-06-06SQL Server 查詢處理中的各個階段(SQL執(zhí)行順序)示例
SQL不同于與其他編程語言的最明顯特征是處理代碼的順序,以下就為大家詳細的介紹一下,需要的朋友可以參考下2013-07-07