SQL文件鏈接在最下麵 MySQL子查詢相關使用 子查詢的實質:一個 select 語句的查詢結果能夠作為另一個語句的輸入值。子查詢不僅可用於 where 子句中,還能夠用於 from 子句中,此時子查詢的結果將作為一個臨時表(temporary table)來使用。 一、 單行子查詢 1、 查詢“ ...
SQL文件鏈接在最下麵
MySQL子查詢相關使用
子查詢的實質:一個 select 語句的查詢結果能夠作為另一個語句的輸入值。子查詢不僅可用於 where 子句中,還能夠用於 from 子句中,此時子查詢的結果將作為一個臨時表(temporary table)來使用。
一、 單行子查詢
1、 查詢“戰爭”類題材電影的具體信息,要求輸出片名和導演名。
select movieName 片名,director 導演名 from movie m,movie_type mt
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 時,表示小於最小值。
當 >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
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//-------------------------------------------
個性簽名:獨學而無友,則孤陋而寡聞。做一個靈魂有趣的人!
如果覺得這篇文章對你有小小的幫助的話,記得在右下角點個“推薦”哦,博主在此感謝!
萬水千山總是情,打賞一分行不行,所以如果你心情還比較高興,也是可以掃碼打賞博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!