mysql分组查询和子查询语句_6.MySQL分组聚合查询,子查询
自己的MySQL閱讀筆記,持續更新,直到看書結束。
數據庫技術可以有效幫助一個組織或者企業科學、有效的管理數據,也是現在很多企業招聘數據分析師的必備要求之一。
大家如果看過MySQL的書,也可以看我的知識導圖做一個復習,因為是自己的讀書筆記,所以有的地方也不是很詳盡,但是十分歡迎私下交流共同進步。
SQL整理的目錄今天有覺悟:專欄索引——個人的數據分析學習(持續更新)?zhuanlan.zhihu.com
目錄分組聚合查詢
子查詢帶IN關鍵字的子查詢
帶比較運算符的子查詢
帶EXISTS關鍵字的子查詢
1.分組聚合查詢
實例
計算選修課程編號為“21001”的學生平均成績
SELECT AVG(score) FROM tb_score
WHERE courseNo = '21001';
2.子查詢
子查詢也稱為嵌套查詢,是將一個查詢語句嵌套在另一個查詢語句的WHERE子句或HACING短語中,前者被稱為內層查詢或子查詢,后者被稱為外層查詢或父查詢,在整個SELECT查詢語句中,先計算子查詢,然后將子查詢的結果作為副查詢的過濾條件。
2.1 帶IN關鍵字的子查詢
用于判定一個值是否存在于子查詢的結果集中
實例
在學生表tb_student中,將學號出現在成績表tb_score中(表名該學生選修了課程)的學生姓名查詢出來,使用子查詢的SQL
SELECT studentName
FROM tb_student
WHERE tb_student.studentNo IN
(SELECT DISTINCT tb_score.studentNo FROM tb_score)
2.2 帶比較運算符的子查詢
實例1
查詢男生中比某個女生出生年份晚的學生姓名和出生年份
SELECT studentName, YEAR(birthday) FROM tb_student
WHERE sex='男' AND YEAR(birthday) > ANY(
SELECT YEAR(birthday) FROM tb_student WHERE sex='女');
實例2
查詢男生中比所有女生出生年份晚的學生姓名和出生年份
SELECT studentName, YEAR(birthday) FROM tb_student
WHERE sex='男' AND YEAR(birthday) > ALL(
SELECT YEAR(birthday) FROM tb_student WHERE sex='女');
2.3 帶EXISTS關鍵字的子查詢
實例
查詢選修了課程號為“31002”的學生姓名
SELECT studentName FROM tb_student a
WHERE EXISTS
(SELECT * FROM tb_score b
SHERE a.studentNo = b.studentNo AND courseNo='31002')
總結
以上是生活随笔為你收集整理的mysql分组查询和子查询语句_6.MySQL分组聚合查询,子查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: workbench mysql mac_
- 下一篇: redhat yum 安装 mysql_