mysql子查詢是什嗎?mysql資料庫子查詢實際使用樣本

來源:互聯網
上載者:User
mysql子查詢是什嗎?

子查詢,又叫內部查詢,相對於內部查詢,包含內部查詢的就稱為外部查詢。子查詢允許把一個查詢嵌套在另一個查詢當中。

mysql資料庫子查詢語句的特點:任何可使用運算式的地方,都可以使用子查詢,只要他返回的是單個值;子查詢按傳回值的數量,子查詢對外部依賴性,比較子的不同性進行分類;這在分頁查詢sql語句中經常用到。

一:子查詢的特點:

  1. 子查詢可被嵌套在 select,insert,update,delete 等語句中

  2. 大多數情況下子查詢充當中間結果集角色

  3. 子查詢可進行嵌套,且根據記憶體及運算式複雜程度不同,嵌套限制也不同

  4. 任何可使用運算式的地方,都可以使用子查詢,只要他返回的是單個值

二:子查詢的分類:

  1. 按傳回值的數量可分為:標量子查詢,多值子查詢

  2. 按子查詢對外部依賴性:獨立子查詢,相互關聯的子查詢

  3. 按比較子的不同性:IN,EXISTS,ANY,SOME,ALL等多種形式

三:子查詢的使用:

  1. 首先建立兩個表(學生表和教師表)

    # 建立學生表mysql> create table tb_student(    -> stu_ID long,    -> class varchar(5),    -> score int    -> );Query OK, 0 rows affected (0.23 sec)# 建立教師表mysql> create table tb_teacher(    -> tea_ID long,    -> class varchar(5),    -> age int    -> );Query OK, 0 rows affected (0.49 sec)
  2. 將一些值插入到表中

    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);
  3. 準備工作完畢,接下來進行子查詢練習

  • 例一:各班教師ID及其班級平均分數

    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)
  • 例二:各班級教師年齡及其班級及格人數(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)
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.