[英]mysql select all X in column A where column B = Y
我有一個表,試圖在其中查找屬於同一類別的所有單詞。 該表如下所示:
ID | CATEGORY | word --------------------- 1 | 2 | elephant 2 | 2 | lion 3 | 5 | duck 4 | 5 | pig 5 | 5 | chicken 6 | 7 | shark 7 | 7 | whale 8 | 7 | dolphin 9 | 7 | bass
因此,如果有人搜索“獅子”,我應該得到該類別中的所有動物。 如何在不運行2個查詢的情況下執行此操作,一個查詢要從“單詞”列中選擇該動物,然后對先前找到的類別中的所有動物運行另一個選擇查詢?
還有其他方法可以做到,但我會這樣做:
SELECT t1.word
FROM
table t1
INNER Join
table t2 on t2.group = t1.group
WHERE t2.word = 'lion'
注意:請盡量避免使用“ group”,“ select”等名稱。
是的,可以使用子查詢,如下所示:
SELECT *
FROM yourTable
WHERE `group` IN (SELECT `group` FROM yourTable
WHERE `word`='lion');
SELECT table_name.word FROM table_name
WHERE table_name.GROUP in (select group from table_name where word ='loin');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.