首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有多个选择的SQL查询

具有多个选择的SQL查询
EN

Stack Overflow用户
提问于 2013-05-06 22:50:54
回答 1查看 151关注 0票数 0

这是我到目前为止所知道的:

代码语言:javascript
复制
//Insert a CD supplied by a particular supplier and produced by a particular producer 
Mysqli_query($con, "INSERT INTO CD WHERE suppliername = "Sony" AND producername = "Gold Records" (CD name, CD type, CD year) 
VALUES ('CDname', 'CDtype', 'CDyear')");

//List producers information who produce CD of a particular artist released in a particular year 
mysqli_query($con, "SELECT name from producers WHERE CD artist="Yoko Kano" AND year= "1999");

或者我应该包括WHERE artist from song="Yoko Kano" AND year from song= "1999"

这是正确的语法吗?我只想再检查一遍。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-06 23:04:11

要插入CD,您应该能够使用以下命令:

代码语言:javascript
复制
INSERT INTO cd (suppliername, producername, title, type, year) 
VALUES ('Sony', 'Gold Records', 'My CD Title', 'My CD Type', 2008)

我不会给你的第二个问题一个完整的答案,因为我假设这是家庭作业。不过,我会给你一些指导。

首先,如果你想要一个生产者列表,你需要这样做

代码语言:javascript
复制
SELECT * FROM producer

但你并不想要所有的生产商,你只想要那些在1999年发行CD的生产商。你怎样才能得到这些CD的清单呢?使用另一个查询:

代码语言:javascript
复制
SELECT * FROM cd WHERE year = 1999

那么如何将它们组合在一起呢?使用类似这样的东西:

SELECT * FROM producer,cd where cd.producername = producer.name

cd.year = 1999

您需要的查询更为复杂,您需要包括艺术家是小野洋子,但是艺术家不在Cd表中,而是在Song表中的事实。这意味着您需要与Song表进行另一个连接。为了给你另一个线索,考虑这个问题,我如何看到某个特定艺术家发行的所有Cds?如果你想看某位艺术家的所有歌曲,那很简单:

代码语言:javascript
复制
SELECT * FROM Song WHERE artist = 'Yoko Ono'

那Cds呢?你可以这样做:

代码语言:javascript
复制
SELECT * FROM Cd, Song WHERE Song.CdTitle = Cd.Title

您的最终查询将需要从所有三个表中进行选择,并且需要所有的约束都就位。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16401352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档