99热这里有精品-夜夜嗨av色一区二区不卡-亚洲国产精彩中文乱码AV-日本japanese乳偷乱熟

SQL 語句的解析過程

、FROM子句

 

FROM子句標識了需要查詢的表,如果指定了表操作,會從左到右的處理,每一個基于一個或者兩個表的表操作都會返回一個輸出表。左邊表的輸出結果會作為下一個表操作的輸入結果。例如,交表相關的操作有 (1-J1)笛卡爾積,(1-J2)ON過濾器,(1-J3)添加外部列。FROM句子生成虛擬表VT1。

 

1執行笛卡爾積(CROSS JOIN)

 

笛卡爾積會把左右兩個表每一行所有可能的組合都列出來生成表VT1-J1,如果左表有m列,右表有n列,那么笛卡爾積之后生成的VT1-J1表將會有m×n列。

 

Step 1-J1這個步驟等價于執行:

 

SELECT * from Customers C ?CROSS JOIN Orders O

 

執行結果為:(共有4×7列)

 

C.customerid

C.city

O.orderid

O.customerid

FISSA

Madrid

1

FRNDO

FISSA

Madrid

2

FRNDO

FISSA

Madrid

3

KRLOS

FISSA

Madrid

4

KRLOS

FISSA

Madrid

5

KRLOS

FISSA

Madrid

6

MRPHS

FISSA

Madrid

7

NULL

FRNDO

Madrid

1

FRNDO

FRNDO

Madrid

2

FRNDO

FRNDO

Madrid

3

KRLOS

FRNDO

Madrid

4

KRLOS

FRNDO

Madrid

5

KRLOS

FRNDO

Madrid

6

MRPHS

FRNDO

Madrid

7

NULL

KRLOS

Madrid

1

FRNDO

KRLOS

Madrid

2

FRNDO

KRLOS

Madrid

3

KRLOS

KRLOS

Madrid

4

KRLOS

KRLOS

Madrid

5

KRLOS

KRLOS

Madrid

6

MRPHS

KRLOS

Madrid

7

NULL

MRPHS

Zion

1

FRNDO

MRPHS

Zion

2

FRNDO

MRPHS

Zion

3

KRLOS

MRPHS

Zion

4

KRLOS

MRPHS

Zion

5

KRLOS

MRPHS

Zion

6

MRPHS

MRPHS

Zion

7

NULL

 

2應用ON過濾,(JOIN 條件)

 

ON過濾條件是sql的三個過濾條件(ON,WHERE,HAVING)中最先執行的,ON過濾條件應用于前一步生成的虛擬表(VT1-J1),滿足ON過濾條件的行會被加入到虛擬表VT1-J2中。在應用了ON 過濾之后,生成的VT1-J2表如下所示:

 

C.customerid

C.city

O.orderid

O.customerid

FRNDO

Madrid

1

FRNDO

FRNDO

Madrid

2

FRNDO

KRLOS

Madrid

3

KRLOS

KRLOS

Madrid

4

KRLOS

KRLOS

Madrid

5

KRLOS

MRPHS

Zion

6

MRPHS

 

 

本教程由尚硅谷教育大數據研究院出品,如需轉載請注明來源,歡迎大家關注尚硅谷公眾號(atguigu)了解更多。

 

 

双辽市| 天祝| 左权县| 敦煌市| 大港区| 任丘市| 裕民县| 澄江县| 南城县| 盘山县| 荆州市| 隆林| 乡城县| 阿荣旗| 三亚市| 鲁山县| 无极县| 南安市| 鹤峰县| 理塘县| 广州市| 巫山县| 江陵县| 新建县| 即墨市| 巴彦县| 土默特右旗| 大方县| 宝丰县| 杭州市| 高密市| 佳木斯市| 沧州市| 时尚| 玛曲县| 阳春市| 托克托县| 敦煌市| 婺源县| 新津县| 塔城市|