日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sqk语句2

發(fā)布時間:2023/12/10 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sqk语句2 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

簡單子查詢

分類: MySQL 139人閱讀 評論(0) 收藏 舉報 SQL

子查詢分類:
1、?相關子查詢
???? ?執(zhí)行依賴于外部查詢的數(shù)據(jù)
????? 外部查詢返回一行,子查詢就執(zhí)行一次。
2、非相關子查詢
????? 獨立于外部查詢的子查詢
????? 子查詢總共執(zhí)行一次,執(zhí)行完畢后將值傳遞給外部查詢
?相關子查詢通常要消耗更長的時間,當數(shù)據(jù)量增加時,執(zhí)行時間會急劇增加

[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?('張三','數(shù)據(jù)庫',80);??
  • INSERT?INTO?lovoStudent(studentName,SUBJECT,grade)?VALUES?('張三','java?web',96);??
  • INSERT?INTO?lovoStudent(studentName,SUBJECT,grade)?VALUES?('李四','數(shù)據(jù)庫',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;??
  • ??
  • --?查詢學生表所有內(nèi)容并加上對應班級信息??
  • 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)??
  • 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 ('張三','數(shù)據(jù)庫',80); INSERT INTO lovoStudent(studentName,SUBJECT,grade) VALUES ('張三','java web',96); INSERT INTO lovoStudent(studentName,SUBJECT,grade) VALUES ('李四','數(shù)據(jù)庫',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;-- 查詢學生表所有內(nèi)容并加上對應班級信息 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)


    ?

    更多0

    總結

    以上是生活随笔為你收集整理的sqk语句2的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。