SQL 从关系查询?
SQL query from relationship?
我在 Postgre 中有 2 个表SQL - 用户和歌曲。我有一个关系 - UsersSongs.
如何编写 SQL 查询来显示一对 - “User.name - Song.name”。那些。我想输出所有用户的每一首歌。如果用户没有歌曲,那么该用户仍然应该突出显示。
select u.email from users u
inner join users_songs us on u.id = us.user_id
我可以只输出用户名。如何将歌曲名称添加到此查询?
如何在 Entity Framework 上做很清楚,但我不知道如何在 SQL 上做。
非常感谢。
您需要通过路口 table:
加入用户和歌曲 table
SELECT u.email, COALESCE(s.name, 'NA') AS song_name
FROM users u
LEFT JOIN users_songs us
ON u.id = us.user_id
LEFT JOIN songs s
ON s.id = us.song_id;
以上逻辑通过左连接来连接,保证没有歌曲的用户不会被查询掉。对于此类用户,他们的自记录将显示 NA
作为歌曲名称。
我在 Postgre 中有 2 个表SQL - 用户和歌曲。我有一个关系 - UsersSongs.
如何编写 SQL 查询来显示一对 - “User.name - Song.name”。那些。我想输出所有用户的每一首歌。如果用户没有歌曲,那么该用户仍然应该突出显示。
select u.email from users u
inner join users_songs us on u.id = us.user_id
我可以只输出用户名。如何将歌曲名称添加到此查询?
如何在 Entity Framework 上做很清楚,但我不知道如何在 SQL 上做。
非常感谢。
您需要通过路口 table:
加入用户和歌曲 tableSELECT u.email, COALESCE(s.name, 'NA') AS song_name
FROM users u
LEFT JOIN users_songs us
ON u.id = us.user_id
LEFT JOIN songs s
ON s.id = us.song_id;
以上逻辑通过左连接来连接,保证没有歌曲的用户不会被查询掉。对于此类用户,他们的自记录将显示 NA
作为歌曲名称。