Mysql的exist()用法


簡介

      EXISTS用於檢查子查詢是否至少會返回一行數據,該子查詢實際上並不返回任何數據,而是返回值True或False。

      EXISTS 指定一個子查詢,檢測行的存在。語法:EXISTS subquery。參數 subquery 是一個受限的 SELECT 語句 (不允許有 COMPUTE 子句和 INTO 關鍵字)。結果類型為 Boolean,如果子查詢包含行,則返回 TRUE。

 

准備2張表,並插入數據

學生表

create table student(userid int ,username varchar(20),age int ,classid int);

insert into student(userid,username,age,classid) values
(1,'zs',23,01),(2,'ls',25,02),(3,'ww',26,01),(4,'zl',56,02),(5,'hehe',34,04),(6,'xixi',14,04);


 

 

班級表

insert into classinfo(classid,classname) values(01,'語文'),(02,'數學'),(03,'英語');

create table classinfo(classid int ,classname varchar(20));

 

 

學生表中的5和6號學生並不在已有的班級表中,現在需要查詢班級存在的學生的信息

select * from student s
where exists(
select * from classinfo c where s.classid = c.classid );


 

 

子查詢查詢的是班級信息,而外部查詢的是學生信息,學生信息中的userid,username,age在
班級信息表中並不存在,那又是如何查詢的?EXISTS用於檢查子查詢是否至少會返回一行數據,該子查詢實際上並不返回任何數據,而是返回值True或False

EXISTS指定一個子查詢,用於檢測外部查詢的行中的字段是否存在於子查詢中

原文鏈接:https://blog.csdn.net/weixin_42834505/article/details/106695979


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM