mysql子查詢是什么?mysql數(shù)據(jù)庫子查詢實際使用示例
發(fā)表時間:2023-07-13 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]mysql子查詢是什么?子查詢,又叫內(nèi)部查詢,相對于內(nèi)部查詢,包含內(nèi)部查詢的就稱為外部查詢。子查詢允許把一個查詢嵌套在另一個查詢當(dāng)中。mysql數(shù)據(jù)庫子查詢語句的特點:任何可使用表達(dá)式的地方,都可以...
mysql子查詢是什么?子查詢,又叫內(nèi)部查詢,相對于內(nèi)部查詢,包含內(nèi)部查詢的就稱為外部查詢。子查詢允許把一個查詢嵌套在另一個查詢當(dāng)中。
mysql數(shù)據(jù)庫子查詢語句的特點:任何可使用表達(dá)式的地方,都可以使用子查詢,只要他返回的是單個值;子查詢按返回值的數(shù)量,子查詢對外部依賴性,比較運算符的不同性進(jìn)行分類;這在分頁查詢sql語句中經(jīng)常用到。
一:子查詢的特點:
子查詢可被嵌套在 select,insert,update,delete 等語句中
大多數(shù)情況下子查詢充當(dāng)中間結(jié)果集角色
子查詢可進(jìn)行嵌套,且根據(jù)內(nèi)存及表達(dá)式復(fù)雜程度不同,嵌套限制也不同
任何可使用表達(dá)式的地方,都可以使用子查詢,只要他返回的是單個值
二:子查詢的分類:
按返回值的數(shù)量可分為:標(biāo)量子查詢,多值子查詢
按子查詢對外部依賴性:獨立子查詢,相關(guān)子查詢
按比較運算符的不同性:IN,EXISTS,ANY,SOME,ALL等多種形式
三:子查詢的使用:
首先創(chuàng)建兩個表(學(xué)生表和教師表)
# 創(chuàng)建學(xué)生表
mysql> create table tb_student(
-> stu_ID long,
-> class varchar(5),
-> score int
-> );
Query OK, 0 rows affected (0.23 sec)
# 創(chuàng)建教師表
mysql> create table tb_teacher(
-> tea_ID long,
-> class varchar(5),
-> age int
-> );
Query OK, 0 rows affected (0.49 sec)
將一些值插入到表中
insert into tb_student values(1, "A", 20);
insert into tb_student values(2, "A", 30);
insert into tb_student values(3, "A", 70);
insert into tb_student values(4, "B", 60);
insert into tb_student values(5, "B", 70);
insert into tb_student values(6, "B", 80);
insert into tb_teacher values(1, "A", 25);
insert into tb_teacher values(2, "B", 40);
準(zhǔn)備工作完畢,接下來進(jìn)行子查詢練習(xí)
例一:各班教師ID及其班級平均分?jǐn)?shù)
mysql> select tea_ID,
-> (select avg(score) from tb_student as s where s.class = t.class group by class)
-> as Avg from tb_teacher as t;
+--------+---------+
tea_ID Avg
+--------+---------+
1 40.0000
2 70.0000
+--------+---------+
2 rows in set (0.00 sec)
例二:各班級教師年齡及其班級及格人數(shù)(60為及格線)
mysql> select age,
-> (select count(*) from tb_student as s where s.class = t.class && s.score >= 60 group by class)
-> as Count from tb_teacher as t order by Count desc;
+------+-------+
age Count
+------+-------+
40 3
25 1
+------+-------+
2 rows in set (0.00 sec)
相關(guān)推薦:
mysql 分頁查詢語句數(shù)據(jù)庫查詢_MySQL
Mysql limit子查詢語句_MySQL
視頻:高級數(shù)據(jù)查詢 - where子句-六天帶你玩轉(zhuǎn)MySQL
以上就是mysql子查詢是什么?mysql數(shù)據(jù)庫子查詢實際使用示例的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!
學(xué)習(xí)教程快速掌握從入門到精通的SQL知識。