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