0
我有一個select語句看起來像這樣:子查詢,得到的結果SQL
SELECT DISTINCT category_name
FROM categories c JOIN products p
ON c.category_id = p.category_id
ORDER BY category_name;
這將返回:
+---------------+
| category_name |
+---------------+
| Basses |
| Drums |
| Guitars |
+---------------+
我試圖使用子查詢得到同樣的結果,但我沒有得到完全一樣的東西。下面是我使用的代碼:
SELECT DISTINCT category_name FROM
categories WHERE category_name IN(SELECT distinct
category_name FROM products) ORDER BY category_name;
當我運行這段代碼,我得到:
+---------------+
| category_name |
+---------------+
| Basses |
| Brass |
| Drums |
| Guitars |
| Keyboards |
+---------------+
我在做什麼錯了,我不是得到相同的輸出?
一個是比較類別名稱和其他類別ID。不同的查詢,所以它們產生不同的結果並不奇怪。爲什麼你會在兩個表中的ID和名稱是完全不同的問題。 –
@GordonLinoff好的,我現在看到了錯誤。我將category_name更改爲category_id並獲得了正確的結果。謝謝你指出,戈登:) – joanne72205