300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > MySQL数据库学习笔记(10)- distinct与in和exists子查询

MySQL数据库学习笔记(10)- distinct与in和exists子查询

时间:2020-08-02 23:27:35

相关推荐

MySQL数据库学习笔记(10)- distinct与in和exists子查询

文章目录

1. distinct的使用2. 子查询in3. 子查询exists

1. distinct的使用

distinct用于在查询中返回列的唯一不同值(去重复),支持单列或多列。(只能写在SELECT的后面)

比如,我们想获取员工表中所有的部门,可以将SQL语句写成如下:

SELECT DISTINCT department FROM employee;

2. 子查询in

如果运算符in后面的值是来源于某个查询结果,并非是指定的几个值,这是就需要用到子查询。子查询又称为内部查询或嵌套查询,即在SQL查询的WHERE子句中嵌入查询语句。

它的基本形式如下:

SELECT column_name FROM table_name WHERE column_name IN(SELECT column_name FROM table_name [WHERE]);

下面是一个简单的示例,根据表score中student_no字段,显示student表中的具体学生信息。

SELECT * FROM student WHERE id IN (SELECT student_no FROM score);

3. 子查询exists

exists是子查询中用于测试内部查询是否返回任何行的布尔运算符。将主查询的数据放到子查询中

做条件验证,根据验证结果(TRUE 或 FALSE)来决定主查询的数据结果是否保留。

它的一般形式如下:

#where子句使用exists语法SELECT column_name1 FROM table_name1 WHERE EXISTS (SELECT * FROM table_name2 WHERE condition);

简单的示例:

select * from student A where exists (select * from score B where A.id = B.student_no and B.course = '线性代数');

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。