我需要幫助在MySQL EXISTS子句MySQL的已存在錯誤條款
原始表是第一張圖
第二PIC的預期輸出
第三張照片目前是我的輸出
我當前的代碼是SELECT CustomerName, Address FROM customers_tbl WHERE EXISTS(SELECT * FROM customers_tbl WHERE (Country = 'Mexico'));
我需要幫助在MySQL EXISTS子句MySQL的已存在錯誤條款
原始表是第一張圖
第二PIC的預期輸出
第三張照片目前是我的輸出
我當前的代碼是SELECT CustomerName, Address FROM customers_tbl WHERE EXISTS(SELECT * FROM customers_tbl WHERE (Country = 'Mexico'));
SELECT CustomerName, Address FROM customers_tbl Q WHERE EXISTS
(SELECT * FROM customers_tbl SQ WHERE
SQ.Country = Q.Country AND SQ.Country = 'Mexico');
這裏是我的解釋: 在有問題的SQL,子查詢送花兒給人有一組的結果,如果表customers_tbl
包含Country: Mexico
。子查詢不依賴主查詢。所以在那個SQL中,EXISTS
條件總是工作TRUE。因此,所有數據將顯示爲輸出。 在我的回答中,我在主查詢&子查詢中使用了別名表。並且還使用了主要查詢&子之間的連接。在這種情況下,子查詢中的每個結果都依賴於main中的值。所以子查詢只能獲取相應的結果& EXISTS
正常工作。
謝謝,你的代碼工作,如果我可能問你使用別名? –
不需要刪除評論:)。我問的原因是,總是爲了回答,我得到了 - 甚至它的幫助。 – Sinto
SELECT CustomerName, Address
FROM customers_tbl
WHERE EXISTS(SELECT Country FROM customers_tbl WHERE (Country = 'Mexico'));
試試這一個。
這是我需要的基本的mysql命令,但我需要使用EXISTS子句 –
@JohnAniez我改進了我的回答 –
它仍然顯示所有名稱 –
你知道EXIST或NOT EXIST條款嗎? 我認爲你不知道EXIST或NOT EXIST子句是否正確,否則你不會問上面的問題。
EXISTS或NOT EXISTS返回true或false如果subquery
分別返回任何行或不返回。
而原始數據是?和它背後的邏輯? – Jens
試圖做'SELECT客戶名,地址FROM customers_tbl WHERE國家='墨西哥';'? – Sinto
此外,如果您希望結果有訂單,則應添加Order By子句。 – Learning