gpt4 book ai didi

MySQL 关系 View - 加入?

转载 作者:行者123 更新时间:2023-11-29 01:47:21 25 4
gpt4 key购买 nike

我是 MySQL 的新手,我在尝试找出如何做到这一点时遇到了无穷无尽的困难。我研究过加入等等,但我不太确定如何应用它。

我有三个表:

艺术家表ID,姓名,说明

专辑表ID,标题,年,艺术家_ID

轨道表ID,标题,专辑_ID

轨道分配给专辑,专辑分配给艺术家。 (我是通过phpmyadmin中的关系 View 实现的,引擎是InnoDB)。

我想做的是查询特定艺术家的所有轨道(从他们的 ID)。

有人能给我指出正确的方向吗?提前致谢!

最佳答案

使用隐式连接语法:

SELECT * FROM Tracks, Artists, Albums
WHERE Tracks.Album_ID=Albums.ID AND Albums.Artist_ID=Artists.ID
AND Artists.Name='foo'

明确地:

SELECT * FROM Artists
LEFT JOIN Albums ON Artists.ID=Albums.Artist_ID
LEFT JOIN Tracks ON Tracks.Album_ID=Albums.ID
WHERE Name='foo'

或者,使用嵌套子查询:

SELECT * FROM Tracks WHERE Album_ID IN
(SELECT ID FROM Albums WHERE Artist_ID IN
(SELECT ID FROM Artists WHERE Name='foo'))`

所有这三个都是相同的(在没有 NULL 值的情况下)。我建议使用第二个,因为大多数 SQL 专家似乎都选择它。

关于MySQL 关系 View - 加入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3481752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com