簡體   English   中英

MySQL選擇A列中的所有X,其中B列= Y

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM