• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 簡單的SQL子查詢語句如何寫

    發表于:2013-07-19來源:Csdn作者:孤云點擊數: 標簽:MySQL
    子查詢分類: 1、 相關子查詢 執行依賴于外部查詢的數據 外部查詢返回一行,子查詢就執行一次。

      子查詢分類:

      1、 相關子查詢

      執行依賴于外部查詢的數據

      外部查詢返回一行,子查詢就執行一次。

      2、非相關子查詢

      獨立于外部查詢的子查詢

      子查詢總共執行一次,執行完畢后將值傳遞給外部查詢

      相關子查詢通常要消耗更長的時間,當數據量增加時,執行時間會急劇增加

      [sql] view plaincopyprint?

      CREATE TABLE lovoStudent(

      id INT PRIMARY KEY AUTO_INCREMENT,

      studentName VARCHAR(20),

      SUBJECT VARCHAR(20),

      grade INT

      )DEFAULT CHARSET =utf8;

      INSERT INTO lovoStudent(studentName,SUBJECT,grade) VALUES ('張三','java基礎',97);

      INSERT INTO lovoStudent(studentName,SUBJECT,grade) VALUES ('張三','數據庫',80);

      INSERT INTO lovoStudent(studentName,SUBJECT,grade) VALUES ('張三','java web',96);

      INSERT INTO lovoStudent(studentName,SUBJECT,grade) VALUES ('李四','數據庫',95);

      INSERT INTO lovoStudent(studentName,SUBJECT,grade) VALUES ('李四','java基礎',94);

      INSERT INTO lovoStudent(studentName,SUBJECT,grade) VALUES ('王五','java基礎',85);

      -- 查詢java基礎最高分及其最高分的得主

      SELECT * FROM lovoStudent t WHERE grade=(SELECT MAX(grade) FROM lovoStudent t1 WHERE SUBJECT='java基礎' AND t1.SUBJECT=t.SUBJECT)

      -- 查詢各科目最高分及其得主

      SELECT * FROM lovoStudent t WHERE grade=(SELECT MAX(grade) FROM lovoStudent t1 WHERE t.SUBJECT =t1.SUBJECT )

      SELECT * FROM lovoStudent t WHERE grade IN(SELECT MAX(grade) FROM lovoStudent t1 WHERE t.SUBJECT =t1.SUBJECT GROUP BY SUBJECT)

      CREATE TABLE t_lovoClass(

      id INT PRIMARY KEY AUTO_INCREMENT,

      className VARCHAR(20)

      )DEFAULT CHARSET =utf8;

      INSERT INTO t_lovoClass(className) VALUES('AT01');

      INSERT INTO t_lovoClass(className) VALUES('AT02');

      INSERT INTO t_lovoClass(className) VALUES('AT03');

      INSERT INTO t_lovoClass(className) VALUES('AT04')

      ALTER TABLE lovoStudent ADD classId INT;

      UPDATE lovoStudent SET classId=1 WHERE id<3;

      UPDATE lovoStudent SET classId=2 WHERE id>5;

      UPDATE lovoStudent SET classId=3 WHERE id>=3 AND id<=5;

      -- 查詢學生表所有內容并加上對應班級信息

      SELECT e.*,(SELECT className FROM t_lovoClass c WHERE e.classId=c.id) className FROM lovoStudent e;

      -- 查詢所有沒有學生的班級

      SELECT className FROM t_lovoClass WHERE id NOT IN(SELECT classId FROM lovoStudent)

    原文轉自:http://blog.csdn.net/u010142437/article/details/8903104

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>