|
子查询的实质:一个 select 语句的查询结果能够作为另一个语句的输入值。子查询不仅可用于 where 子句中,还能够用于 from 子句中,此时子查询的结果将作为一个临时表(temporary table)来使用。
一、 单行子查询
1、 查询“战争”类题材电影的具体信息,要求输出片名和导演名。- select movieName 片名,director 导演名
- from movie m,movie_type mt<br>where typeID =(select id from movie_type where typeName='战争')
复制代码 输出结果:
片名 | 导演名 | 集结号 | 冯小刚 | 投名状 | 陈可辛 | 红海行动 | 林超贤 | 智取威虎山 | 徐克 | 集结号 | 冯小刚 | 投名状 | 陈可辛 | 2、 查询票价高于平均票价的电影信息,要求输出电影名和导演名- select movieName 片名,director 导演名
- from movie
- where ticketPrice>(select avg(ticketPrice) from movie)
复制代码 输出结果:
片名 | 导演名 | 让子弹飞 | 姜文 | 集结号 | 冯小刚 | 花样年华 | 王家卫 | 无间道 | 刘伟强 | 智取威虎山 | 徐克 | 归来 | 张艺谋 | 3、查询票价高于“战争”类题材的平均票价电影信息,要求输出电影名和导演名- select movieName 电影名,director 导演名
- from movie
- where ticketPrice>
- (select avg(ticketPrice) from movie where typeId=
- (select id from movie_type where typeName='战争'))
复制代码 输出结果:
电影名 | 导演名 | 让子弹飞 | 姜文 | 集结号 | 冯小刚 | 花样年华 | 王家卫 | 无间道 | 刘伟强 | 智取威虎山 | 徐克 | 归来 | 张艺谋 | 二、子查询和in、all 、any、some运算符
in比较符
1、 查询“战争”和“喜剧”类题材电影的相关信息,要求输出片名和导演名。- select movieName 片名,director 导演名
- from movie m,movie_type mt
- where typeID in(select id from movie_type where typeName in('战争','喜剧'))
复制代码 输出结果:
片名 | 导演名 | 集结号 | 冯小刚 | 投名状 | 陈可辛 | 红海行动 | 林超贤 | 智取威虎山 | 徐克 | 大内密探零零发 | 向华强 | 心花路放 | 宁浩 | 2、 查询客户“zhang01”顾客所预订电影的具体信息,要求输出电影名、导演名、票价和片长,并按照票价升序排列- select movieName 电影名, director 导演名,ticketPrice 票价,filmLength 片长
- from movie
- where ID in(select movieID from schedule where Id in
- (select scheduleID from ticket_sell where customerid in
- (select id from customer where username='zhang01')))
- order by ticketPrice
复制代码 输出结果:
电影名 | 导演名 | 票价 | 片长 | 纵横四海 | 吴宇森 | 70 | 108 | 无问西东 | 李芳芳 | 80 | 138 | 心花路放 | 宁浩 | 90 | 118 | 3、 使用连接查询实现上题。
all 运算符的含义如下:
当 all 时,表示大于最大值- select distinct movieName 电影名,director 导演名,ticketPrice 票价,filmLength 片长
- from movie m,schedule s,ticket_sell ts,customer c
- where m.id=s.movieId and s.id=ts.scheduleId <br>and ts.customerId=c.id and c.username ='zhang01'
- order by ticketPrice
复制代码 输出结果:
电影名 | 导演名 | 票价 | 片长 | 纵横四海 | 吴宇森 | 70 | 108 | 无问西东 | 李芳芳 | 80 | 138 | 心花路放 | 宁浩 | 90 | 118 |
4、查询比所有“喜剧”类题材电影的票价都高的电影信息,要求输出片名和导演名。
SQL文件:https://files.cnblogs.com/files/blogs/719245/movie.zip?t=1694069371&download=true
出处:http://www.tziefwf.cn//-------------------------------------------
个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
万水千山总是情,打赏一分行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!
来源:https://www.cnblogs.com/xincheng24/p/17684782.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
|