來(lái)源:WildestDeram 發(fā)布時(shí)間:2019-05-10 16:22:37 閱讀量:1443
子查詢(xún)的作用:將一個(gè)查詢(xún)語(yǔ)句嵌套在另一個(gè)查詢(xún)語(yǔ)句中,擁有兩層查詢(xún)結(jié)果,內(nèi)層語(yǔ)句查詢(xún)的結(jié)果可以做為外層語(yǔ)句的查詢(xún)條件
SELECT 字段名稱(chēng) FROM tbl_name WHERE col_name=(SELECT col_name FROM tbl_name);
由IN引發(fā)的子查詢(xún)
SELECT * FROM emp
WHERE depId IN (SELECT id FROM dep);
通過(guò)改方法就可以忽略了id為7的測(cè)試用戶(hù),更便捷的查出數(shù)據(jù)
通過(guò)NOT IN取反的方式可以取得id=7的測(cè)試用戶(hù)
SELECT * FROM empWHERE depId NOT IN (SELECT id FROM dep);
CREATE TABLE stu(
id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT KEY COMMENT '編號(hào)',
username VARCHAR(20) NOT NULL UNIQUE COMMENT '學(xué)員名稱(chēng)',
score TINYINT UNSIGNED NOT NULL COMMENT '學(xué)員考試分?jǐn)?shù)'
);
INSERT stu(username,score) VALUES('king',95),
('queen',75),
('zhangsan',69),
('lisi',78),
('wangwu',87),
('zhaoliu',88),
('tianqi',98),
('ceshi',99),
('tiancai',50);
-- 等級(jí)表
CREATE TABLE level(
id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT KEY COMMENT '編號(hào)',
score TINYINT UNSIGNED COMMENT '分?jǐn)?shù)'
);
INSERT level(score) VALUES(90),
(80),
(70);
由比較運(yùn)算符引出的子查詢(xún)
SELECT id,username,score FROM stu
WHERE score>=(SELECT score FROM level WHERE id=1);
-- 查詢(xún)沒(méi)有得到評(píng)級(jí)的學(xué)員SELECT id,username,score FROM stuWHERE score<=(SELECT score FROM level WHERE id=1);
由EXISTS引發(fā)的子查詢(xún),使用改關(guān)鍵詞查詢(xún),內(nèi)層的查詢(xún)是不返回查詢(xún)值的,而是返回Boolean值,EXISTS關(guān)鍵詞的作用就是判斷內(nèi)層返回是true還是false。
-- 由EXISTS引發(fā)的子查詢(xún)
SELECT * FROM tbl_name WHERE EXISTS (SELECT tbl_name FROM name WHERE XX);
在線(xiàn)
客服
服務(wù)時(shí)間:周一至周日 08:30-18:00
選擇下列產(chǎn)品馬上在線(xiàn)溝通:
客服
熱線(xiàn)
7*24小時(shí)客服服務(wù)熱線(xiàn)
關(guān)注
微信
關(guān)注官方微信