在 SQL 中,( ) 運算子用於合併查詢結果集,在不符合的行中填入 NULL 值。它允許執行外連接,避免笛卡爾積,並有兩種類型:左外連接和右外連接。左右外連接將從左表或右表傳回所有行,為不符合的行填入 NULL 值。
SQL 中( ) 的用法
在SQL 查詢中,( ) 運算子用於將兩個查詢結果集進行合併,並以帶有NULL 值的方式填入缺少的行。
語法:
<code>SELECT column_list
FROM table1
LEFT|RIGHT (+) JOIN table2
ON join_condition;</code>
作用:
-
外連接:( ) 運算符允許執行外連接,即傳回一個包含來自兩個表的匹配行以及來自一個或兩個表中的所有行的結果集。
-
填入缺失行:對於不符合的行,( ) 運算子會在缺少的表中插入 NULL 值。
-
避免笛卡爾積:在內連接中,如果沒有符合行,查詢將傳回空結果集。使用 ( ) 運算子則可以填滿缺失行,避免笛卡爾積。
類型:
-
左外連接:LEFT ( ) JOIN 從左表傳回所有行,並為右表中沒有符合的左表行填入NULL 值。
-
右外連接:RIGHT ( ) JOIN 從右表傳回所有行,並為左表中沒有匹配的右表行填入 NULL 值。
範例:
假設我們有以下兩個表格:
##students |
id | name |
#1 | John |
#2 | Mary |
#courses |
##id
course_name |
|
1
Math |
| ##2
Science |
| 3
History |
|
以下查詢使用LEFT ( ) JOIN 將這兩個表格連接起來,並填入缺失行:
<code>SELECT *
FROM students
LEFT (+) JOIN courses
ON students.id = courses.id;</code>
結果:
#idname | course_name |
|
1
#John | Math |
##2 |
Mary
Science |
|
NULL |
NULL
History |
| |
以上是sql中(+)的用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!