天天看點

sql查詢大于某個日期_MySql之複雜查詢

sql查詢大于某個日期_MySql之複雜查詢
本次需要學習有如下幾個部分: 一、視圖 二、子查詢 三、标量子查詢 四、關聯子查詢 五、如何用SQL解決業務問題 六、各種函數 下面為以上内容一一解答: 一、視圖
sql查詢大于某個日期_MySql之複雜查詢

資料庫中存放着許多的表,視圖中存放的是sql查詢語句,使用視圖時,會運作視圖裡的sql查詢語句建立出一張臨時表。

sql查詢大于某個日期_MySql之複雜查詢

建立視圖: create view 視圖名稱(<視圖列名1>,<視圖列名2>,....) as <select 查詢語句>;

sql查詢大于某個日期_MySql之複雜查詢

使用視圖:select 性别,人數 from 按性别彙總;

sql查詢大于某個日期_MySql之複雜查詢

在視圖中把不需要的視圖可以進行删除

二、子查詢
sql查詢大于某個日期_MySql之複雜查詢

子查詢嵌套在sql查詢語句中,如圖中select 性别,count(*) as 人數 from student group by 性别

sql查詢大于某個日期_MySql之複雜查詢

嵌套子查詢的sql運作順序,先運作子查詢

sql查詢大于某個日期_MySql之複雜查詢
sql查詢大于某個日期_MySql之複雜查詢

例如:查找每個課程裡的成績最低的學号。1.先找出每門課程的最低成績 2.把最低成績的sql語句嵌套在sql查詢語句中

sql查詢大于某個日期_MySql之複雜查詢

哪些學生的成績比課程0002的全部成績裡的任意一個高呢?1.先查出課程0002的全部成績 2.在嵌套在sql語句中做比較

sql查詢大于某個日期_MySql之複雜查詢

all同理

sql查詢大于某個日期_MySql之複雜查詢

注意:1.不能對all語句做算式運算,因為all語句查詢出來的是個集合

2.避免子查詢層層嵌套

3.子查詢最好有重命名,友善别人去看

三、标量子查詢

标量子查詢:必須傳回1行1列的單一的值

sql查詢大于某個日期_MySql之複雜查詢

大于平均成績學生的學号和成績:1.先進行标量子查詢 2.做整體查詢

sql查詢大于某個日期_MySql之複雜查詢
sql查詢大于某個日期_MySql之複雜查詢

注意:子查詢不可以是多組資料,隻能是一行一列

四、關聯子查詢
sql查詢大于某個日期_MySql之複雜查詢

查找出每個課程中大于對應課程平均成績的學生:1. 查找出每門課程的平均成績

select avg(成績) from course group by 課程号;

sql查詢大于某個日期_MySql之複雜查詢

2.把子查詢嵌套到整體sql查詢語句中

select `學号`,`成績` FROM course as c1 WHERE `成績` >

(select avg(`成績`) from course as c2

where c1.`課程号` = c2.`課程号`

GROUP BY `課程号`);

sql查詢大于某個日期_MySql之複雜查詢

注意:子查詢中的重新指派的表名無法在外部語句中識别

五、如何用SQL解決業務問題
sql查詢大于某個日期_MySql之複雜查詢
sql查詢大于某個日期_MySql之複雜查詢
sql查詢大于某個日期_MySql之複雜查詢

例如:哪些學生的成績比課程0002的全部成績裡的任意一個高

1.課程0002的全部成績,select 成績 from course where 課程号 = 0002;

2.某個學生的成績大于任意一個第一步裡的成績,就符合條件,select 學号,成績 from course where 成績 > any(select 成績 from course where 課程号 = 0002);

六、各種函數

彙總函數

sql查詢大于某個日期_MySql之複雜查詢

算術函數

sql查詢大于某個日期_MySql之複雜查詢

字元函數

sql查詢大于某個日期_MySql之複雜查詢

日期函數

sql查詢大于某個日期_MySql之複雜查詢
練習

SELECT within SELECT Tutorial/zh​sqlzoo.net

sql查詢大于某個日期_MySql之複雜查詢
sql查詢大于某個日期_MySql之複雜查詢
sql查詢大于某個日期_MySql之複雜查詢
sql查詢大于某個日期_MySql之複雜查詢
sql查詢大于某個日期_MySql之複雜查詢
sql查詢大于某個日期_MySql之複雜查詢
sql查詢大于某個日期_MySql之複雜查詢
sql查詢大于某個日期_MySql之複雜查詢
sql查詢大于某個日期_MySql之複雜查詢
sql查詢大于某個日期_MySql之複雜查詢