文章目录

  • 1. distinct的使用
  • 2. 子查询in
  • 3. 子查询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 = '线性代数');

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

  1. MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  2. MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)...

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  3. 研一寒假MySQL数据库学习笔记(三)

    研一寒假MySQL数据库学习笔记(三) 本节记录数据库高级查询部分的内容,整理于此便于之后回顾. 1. 上一节补充内容 1.1 案例练习 现在有一个员工表.部门表,两张表之间是一个部门多个员工,一个员 ...

  4. linux数据库创建score表,MySQL数据库学习笔记

    MySQL数据库学习笔记phpma (实验环境:Redhat9.0,MySQL3.23.54) 纲要: 一,连接MySQL phpma 二,MySQL管理与授权 三,数据库简单操作 四, 数据库备份 ...

  5. 最新、最全、最详细的 MySQL 数据库学习笔记总结(2021最新版)

    数据库是什么 数据库管理系统,简称为DBMS(Database Management System),是用来存储数据的管理系统. DBMS 的重要性 无法多人共享数据 无法提供操作大量数据所需的格式 ...

  6. MySQL数据库学习笔记,知识点和案例整理,期末三天复习完【简单且详细】

    MySQL数据库近三万字学习笔记,超级详细! 文章目录 前言 一.day1 二.day2 三.day3 前言 MySQL数据库知识点和案例总结,非常详细,将近三万字!分成了三天去消化吸收! 一.day ...

  7. 我的MySQL数据库学习笔记

    一.操作数据库的基本语句 cmd进入mysql:mysql -uroot -p  创建数据库:CREATE DATABASE 库名;  创建数据表:同sqlite:  查看数据库:SHOW DATAB ...

  8. Mysql数据库学习笔记[完结]

    一.数据库 1.概述 数据库(database ,简称db)就是用来存储数据和管理数据的仓库 分类: 关系型数据库:指存放的数据之间是有紧密关系的 常见的有:Oracle.MySQL.SQLServe ...

  9. MySQL数据库 学习笔记 零基础入门 面试 整理

    一.MySQL基础篇 1. 数据库技术的基本概念和方法 1.1 数据库基本概念 1] 数据 数据(Data)指对客观事物进行描述并可以鉴别的符号,这些符号是可识别的.抽象的,不仅仅指狭义上的数字,而是 ...

最新文章

  1. 为什么要使用main函数
  2. [scala-spark]5. 伴生类和伴生对象
  3. Idea左侧显示目录结构和.java文件的解决办法
  4. Java JUC工具类--CountDownLatch
  5. 树形可拖拽排序配置组件
  6. DeFi保险项目Bumper完成1000万美元私募轮融资
  7. Server系列18:如何通过组策略赋予domain user受限网络管理权限?
  8. 前端自动化构建工具之webpack入门——简单入门
  9. [转]关于jQuery性能优化
  10. JSONHelper JSON帮助类
  11. 线程 pthread_create Linux函数 线程创建
  12. 管理感悟:方案能力与解决问题能力
  13. 动易html编辑器漏洞,动易网站管理系统删除任意文件漏洞
  14. 《水经注全国离线地图5.0》升级至5.1
  15. 柳州计算机一级考试报名时间,2021计算机考试报名时间和考试时间
  16. PCB layout的基本原则
  17. 理解上下文切换带来的性能影响
  18. 3D 沙盒游戏之人物的点击行走移动
  19. Android中获取屏幕信息的几种方式
  20. Buffer.from()

热门文章

  1. 计算机二级考试没过能重考吗,计算机二级能重复考吗
  2. 一文读懂什么是自由城Free City
  3. 弱网测试工具-ATC和NEWT
  4. java jdk12_JDK 12:Java 12中的新功能
  5. Java 11~~20
  6. 啥叫企业管理?王健林告诉你
  7. win10如何查看显卡配置
  8. 第十五天 12-tcpdump检测流量工具
  9. 备库ORA-00313 ORA-00312 ORA-27037
  10. 用户堆栈和系统堆栈的区别