“我目前正在通过免费课程自学如何使用 SQL,如果有任何见解,我将不胜感激。我对原始问题进行了 MRE。具体来说,我不明白如果“title”值不是 artists 表中的值,我该如何对其进行子查询。此外,我查看了其他示例,内部和外部查询都试图在两个表中找到一个值。
Requested Subquery:添加另一个查询,该查询将从“流行”艺术家中选择所有歌曲的标题。它应该在基于您之前查询的嵌套子查询上使用 IN。
我根据我研究过的例子尝试了不同的代码,但无法从根本上理解我做错了什么。任何帮助将不胜感激。
CREATE TABLE artists (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, rating INTEGER, genre TEXT)
INSERT INTO artists (name, rating, genre) VALUES ( "Bibi", 9, "Pop");
INSERT INTO artists (name, rating, genre) VALUES ("Kai", 8, "Pop");
CREATE TABLE songs (id INTEGER PRIMARY KEY AUTOINCREMENT, artist TEXT, title TEXT);
INSERT INTO songs (artist, title) VALUES ("Bibi", "The Weekend");
INSERT INTO songs (artist, title) VALUES ("Kai", "Rover");
SELECT title FROM songs WHERE artist = "Bibi";
SELECT name FROM artists WHERE genre = "Pop";
SELECT title FROM songs (SELECT name FROM artists WHERE genre = "Pop");
SELECT * FROM songs WHERE title IN (SELECT name FROM artists WHERE genre = "Pop");