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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL查询(嵌套查询)

發布時間:2023/12/14 数据库 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL查询(嵌套查询) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

嵌套查詢又稱子查詢,有select子查詢,where子查詢,from子查詢,exists子查詢。

插入數據?

#創建表及插入記錄 CREATE TABLE class (cid int(11) NOT NULL AUTO_INCREMENT,caption varchar(32) NOT NULL,PRIMARY KEY (cid) ) ENGINE=InnoDB CHARSET=utf8;INSERT INTO class VALUES (1, '三年二班'), (2, '三年三班'), (3, '一年二班'), (4, '二年九班');CREATE TABLE course(cid int(11) NOT NULL AUTO_INCREMENT,cname varchar(32) NOT NULL,teacher_id int(11) NOT NULL,PRIMARY KEY (cid),KEY fk_course_teacher (teacher_id),CONSTRAINT fk_course_teacher FOREIGN KEY (teacher_id) REFERENCES teacher (tid) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO course VALUES (1, '生物', 1), (2, '物理', 2), (3, '體育', 3), (4, '美術', 2);CREATE TABLE score (sid int(11) NOT NULL AUTO_INCREMENT,student_id int(11) NOT NULL,course_id int(11) NOT NULL,num int(11) NOT NULL,PRIMARY KEY (sid),KEY fk_score_student (student_id),KEY fk_score_course (course_id),CONSTRAINT fk_score_course FOREIGN KEY (course_id) REFERENCES course (cid),CONSTRAINT fk_score_student FOREIGN KEY (student_id) REFERENCES student(sid) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO score VALUES (1, 1, 1, 10), (2, 1, 2, 9), (5, 1, 4, 66), (6, 2, 1, 8), (8, 2, 3, 68), (9, 2, 4, 99), (10, 3, 1, 77), (11, 3, 2, 66), (12, 3, 3, 87), (13, 3, 4, 99), (14, 4, 1, 79), (15, 4, 2, 11), (16, 4, 3, 67), (17, 4, 4, 100), (18, 5, 1, 79), (19, 5, 2, 11), (20, 5, 3, 67), (21, 5, 4, 100), (22, 6, 1, 9), (23, 6, 2, 100), (24, 6, 3, 67), (25, 6, 4, 100), (26, 7, 1, 9), (27, 7, 2, 100), (28, 7, 3, 67), (29, 7, 4, 88), (30, 8, 1, 9), (31, 8, 2, 100), (32, 8, 3, 67), (33, 8, 4, 88), (34, 9, 1, 91), (35, 9, 2, 88), (36, 9, 3, 67), (37, 9, 4, 22), (38, 10, 1, 90), (39, 10, 2, 77), (40, 10, 3, 43), (41, 10, 4, 87), (42, 11, 1, 90), (43, 11, 2, 77), (44, 11, 3, 43), (45, 11, 4, 87), (46, 12, 1, 90), (47, 12, 2, 77), (48, 12, 3, 43), (49, 12, 4, 87), (52, 13, 3, 87);CREATE TABLE student(sid int(11) NOT NULL AUTO_INCREMENT,gender char(1) NOT NULL,class_id int(11) NOT NULL,sname varchar(32) NOT NULL,PRIMARY KEY (sid),KEY fk_class (class_id),CONSTRAINT fk_class FOREIGN KEY (class_id) REFERENCES class (cid) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO student VALUES (1, '男', 1, '理解'), (2, '女', 1, '鋼蛋'), (3, '男', 1, '張三'), (4, '男', 1, '張一'), (5, '女', 1, '張二'), (6, '男', 1, '張四'), (7, '女', 2, '鐵錘'), (8, '男', 2, '李三'), (9, '男', 2, '李一'), (10, '女', 2, '李二'), (11, '男', 2, '李四'), (12, '女', 3, '如花'), (13, '男', 3, '劉三'), (14, '男', 3, '劉一'), (15, '女', 3, '劉二'), (16, '男', 3, '劉四')CREATE TABLE teacher(tid int(11) NOT NULL AUTO_INCREMENT,tname varchar(32) NOT NULL,PRIMARY KEY (tid) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO teacher VALUES (1, '張磊老師'), (2, '李平老師'), (3, '劉海燕老師'), (4, '朱云海老師'), (5, '李杰老師');

?select子查詢(外語句先執行,內語句后執行)

例1.?查詢課程名并顯示課程老師的名稱

? select * from course c where c.teacher_id='1'; select * from teacher t where t.tid='1';??-- 最后拼接 select * ,(select tname from teacher t where t.tid=c.teacher_id)name from course c;

where 子查詢(先執行子查詢,再執行外查詢)

例2.查詢學習了體育的學生

-- 選擇了體育學生的id select sc.student_id from course co left join score sc on co.cid=sc.course_id where cname='體育' -- 通過學生表用學生id匹配學生姓名 select st.sname from student st where st.sid in( select sc.student_id from course co left join score sc on co.cid=sc.course_id where cname='體育')

部分結果:?

?from 子查詢(先執行子查詢,再執行外查詢)

例3.列出三年二班學了體育的學生

select a.* from (select st.sname,cl.caption from score sc left join course co on sc.course_id=co.cid left join student st on st.sid=sc.student_id left join class cl on cl.cid=st.class_id where co.cname='體育')a where a.caption='三年二班';

??

?exists 子查詢

(先執行外語句,再執行子查詢,根據子查詢返回結果判斷是否保留外查詢結果)

例4.查詢學了課程di為1的學生的姓名

select * from student st where exists( select *from score sc where course_id='1' and sc.student_id=st.sid );

?

總結

sql查詢本質就是對各種表進行裁剪和拼接,最后得到我們想要的數據。

所有的能通過子查詢完成的查詢都能用連接查詢完成,如例1:查詢課程名并顯示課程老師的名稱

select *from course co left join teacher te on te.tid=co.teacher_id;

?

?所以要靈活運用查詢方式,才能更高效的查詢。

?

總結

以上是生活随笔為你收集整理的SQL查询(嵌套查询)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲自拍av在线 | 中文字幕国产日韩 | 国产综合视频一区 | 亚洲第一黄色网 | 国产精品视频麻豆 | 日本xxxxxxxxx| 综合 欧美 亚洲日本 | 少妇又色又爽又黄的视频 | 国产曰肥老太婆无遮挡 | 可以在线看黄的网站 | 四虎成人网 | 中文字幕日韩精品一区 | 欧美456 | 欧美日韩一区二区视频观看 | 久久亚洲影院 | 国产欧美一区二区三区精品酒店 | 欧美一级爱爱 | 视频在线中文字幕 | 欧美黑人一区 | 亚洲精品性视频 | 久久久91精品 | 91久| 一区二区三区日韩欧美 | 97超视频 | 美女露出粉嫩尿囗让男人桶 | 欧美日韩国产一区在线 | 国产熟女一区二区三区五月婷 | 日本中文字幕在线观看 | 91娇羞白丝| 久久精品国产亚洲av成人 | 日本爱爱网址 | 日本免费爱爱视频 | 成年人小视频 | 亚洲天堂av片 | 黄色大片一级 | 日本高清免费看 | 亚洲天堂伊人网 | 国产真实伦对白全集 | 青青草网址 | 极品少妇网站 | 国产91精品一区二区 | 原神女裸体看个够无遮挡 | caobi视频| 麻豆免费在线视频 | 成人a级片 | 人妻少妇精品中文字幕av蜜桃 | 成人在线影视 | 美丽的姑娘观看在线播放 | av在线www| 欧美日韩大片在线观看 | 国产精品久久亚洲 | 欧美日韩一区二区三区在线 | 激情五月婷婷综合网 | 成人久久精品人妻一区二区三区 | 免费视频91 | 精品一级少妇久久久久久久 | 亚洲成av | 免费看黄色网址 | 91涩漫成人官网入口 | 黄色天堂网站 | 一区二区三区欧美在线 | 亚洲啪av永久无码精品放毛片 | 大胸美女网站 | 欧美日韩一二三四 | 日本午夜免费福利视频 | 黄污视频网站 | 天天舔天天射天天干 | 好大好舒服视频 | 经典三级av在线 | 亚洲成人99 | 欧美一级淫片免费视频黄 | 国产中文 | 少妇情理伦片丰满午夜在线观看 | 能直接看的av网站 | 乌克兰av在线 | 你懂的91 | av网站免费在线观看 | a级在线看 | 国产视频aaa| 9色视频在线观看 | 日韩综合一区二区 | 男人撒尿视频xvideos | 国产偷人爽久久久久久老妇app | 老司机深夜免费福利 | 日本一区二区人妻 | 久久精品色欲国产AV一区二区 | 亚洲天堂99 | 秋霞欧洲 | 久久精品在线播放 | 中文字幕av不卡 | 91在线观 | 日韩乱淫 | 亚洲一区二区在线观看视频 | 人妻丰满熟妇av无码久久洗澡 | 欧美影院久久 | 成人免费一区二区 | 国产精品一区二区入口九绯色 | 欧美一区二区三区不卡视频 | 国产精品福利一区二区 |