<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      mysql子查詢是什么?mysql數據庫子查詢實際使用示例

      [摘要]mysql子查詢是什么?子查詢,又叫內部查詢,相對于內部查詢,包含內部查詢的就稱為外部查詢。子查詢允許把一個查詢嵌套在另一個查詢當中。mysql數據庫子查詢語句的特點:任何可使用表達式的地方,都可以...
      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)

      相關推薦:

      mysql 分頁查詢語句數據庫查詢_MySQL

      Mysql limit子查詢語句_MySQL

      視頻:高級數據查詢 - where子句-六天帶你玩轉MySQL

      以上就是mysql子查詢是什么?mysql數據庫子查詢實際使用示例的詳細內容,更多請關注php中文網其它相關文章!


      學習教程快速掌握從入門到精通的SQL知識。




      日韩精品一区二区三区高清