我想知道在FROM子句中,有連接的查詢和有多個表的查詢之間的區別。SQL表組合方法
例如:
SELECT *
FROM table1 NATURAL JOIN table2.
或
SELECT *
FROM table1, table2
WHERE table1.field=table2.field.
太謝謝你了。
我想知道在FROM子句中,有連接的查詢和有多個表的查詢之間的區別。SQL表組合方法
例如:
SELECT *
FROM table1 NATURAL JOIN table2.
或
SELECT *
FROM table1, table2
WHERE table1.field=table2.field.
太謝謝你了。
NATURAL JOIN
比較兩個表的所有列,並等於那些具有相同名稱和相同類型的列。
因此,基本上,只有當table1
和table2
只有一列具有相同的名稱和類型,並且該列爲field
時,這兩個SQL語句纔會執行相同的操作。
感謝它非常澄清! – user1966562
SQL JOIN子句用於根據兩個或多個表之間的公用字段合併行。
最常見的連接類型是:SQL INNER JOIN(簡單連接)。 SQL INNER JOIN返回滿足連接條件的多個表中的所有行。
你也可以使用WHERE,但是與JOIN合乎邏輯。針對特定條件使用WHERE。
通常情況下,沒有任何區別,數據庫翻譯成相同的執行計劃。
兩個區別是:
一個是顯式連接,而另一個是隱式連接 - 請參見[這個問題](http://stackoverflow.com/問題/ 44917 /明確-VS隱-SQL聯接)。 –