SELECT column_1 FROM table_1,table_2;
當我在我的數據庫上運行這個時,它返回了大量的重複column_1值的行。我無法理解爲什麼我得到了這些結果。請解釋這個查詢的作用。這個sql查詢是做什麼的? SELECT column_1 FROM table_1,table_2;
SELECT column_1 FROM table_1,table_2;
當我在我的數據庫上運行這個時,它返回了大量的重複column_1值的行。我無法理解爲什麼我得到了這些結果。請解釋這個查詢的作用。這個sql查詢是做什麼的? SELECT column_1 FROM table_1,table_2;
更通俗地說一個cross product,這意味着在表A中的每個記錄,你從表B中的每個記錄(所有可能的組合)。
表A與3條記錄和表B具有3個記錄給出了結果9個總記錄:
TableA-1/B-1
TableA-1/B-2
TableA-1/B-3
TableA-2/B-1
TableA-2/B-2
TableA-2/B-3
TableA-3/B-1
TableA-3/B-2
TableA-3/B-3
常用作笛卡爾查詢的基礎(它本身以產生,也就是說,一個列表的裝置根據週期計劃未來日期:給我所有可能的結果在接下來的6個月,然後限制設置爲那些因素我一週中的一天)的交叉連接兩個表
想象一下,我有3個朋友,名爲Jhon,Ana,Nick;那麼我在另一張桌子上有兩件T恤是紅色和黃色的,我想知道女巫是從哪裏來的。
所以在查詢中表A:朋友和tableB的:T恤返回:
1|JHON | t-shirt_YELLOW
2|JHON | t-shirt_RED
3|ANA | t-shirt_YELLOW
4|ANA | t-shirt_RED
5|NICK | t-shirt_YELLOW
6|NICK | t-shirt_RED
正如你看到的這個連接有朋友和T恤之間沒有關係的邏輯,所以通過評估所有更多鈔票組合產生什麼你呼叫重複。
從table1表2中選擇column_1,沒有任何連接條件。你需要添加一個條件,如'where table1.id = table2.id' – RealCheeseLord
也許只需要很少的努力。沒有樣本數據,沒有預期的結果。任意dbms標記等。 – jarlh
今天提示:切換到現代的,明確的'JOIN'語法。易於編寫(沒有錯誤),更易於閱讀(和維護),並且在需要時更容易轉換爲外部聯接。 – jarlh