如何SQL搜索相关数据

时间:2016-03-16 16:18:07

标签: sql

我创建了一个包含姓名和乐队类型的数据库。

当有人在数据库中搜索乐队时,它意味着返回该乐队的流派和同一类型的所有其他乐队。

所以布局为:

band          | genre
--------------+--------
deep purple   | rock
ac/dc         | rock
adele         | pop
shania twain  | pop
shania twain  | country
black sabbath | rock

如果我搜索“深紫色”,我希望它能够返回“摇滚”,还有ac / dc和黑色安息日。

我对SQL查询没有成功。

有人有建议吗?

由于

3 个答案:

答案 0 :(得分:0)

我想你想要这样的东西:

SELECT  b.*
FROM    table a
        JOIN table b ON a.genre = b.genre
WHERE   a.band = 'deep purple'

这将在表格中搜索深紫色乐队,使用流派(在本例中为rock)加入自身并返回所有带有摇滚类型的乐队。

答案 1 :(得分:0)

有几种方法可以做到这一点。这是我头脑中的一个:

Foo(5) + horse

答案 2 :(得分:0)

/public/styles.css

或者

SELECT * FROM bands
WHERE genre IN (SELECT genre FROM bands WHERE name = 'Deep Purple')