DQL查询包括以下这些内容:
• 基础查询
• 条件查询(WHERE)
• 分组查询(GROUP BY)
• 排序查询(ORDER BY)
• 分页查询(LIMIT)

(一)、基础查询

1、查询多个字段
SELECT 字段列表 FROM 表名;
SELECT * FROM 表名;

当前表中数据如下:

2、去除重复记录
SELECT DISTINCT 字段列表 FROM 表名;

直接查询表中address结果如下,可以看出有重复的地址信息出现:

去除重复记录

3、起别名
AS: AS也可以省略

(二)条件查询

1、条件查询语法
SELECT 字段列表 FROM 表名 WHERE 条件列表;

2、条件

查询年龄大于30的SELECT id,name,age,sex,address,math, english,hire_date from stu     WHERE age>30;

-- 查询年龄大于等于30岁的信息SELECT id,name,age,sex,address,math, english,hire_date from stu WHERE age>=30;

-- 查询年龄大于等于30岁并且年龄小于等于50的信息SELECT id,name,age,sex,address,math, english,hire_date from stu WHERE age>=30 AND age<=50;

-- 查询年龄不等于30的SELECT id,name,age,sex,address,math, english,hire_date from stu WHERE age!=30;

-- 查询英语为null的
-- 注意:null值的比较不能使用 = !=,需要使用  is    is not
SELECT id,name,age,sex,address,math, english,hire_date from stu WHERE english is null;

LIKE 占位符:(1) _:代表单个任意字符(2)%:代表任意个数字符-- 查询姓‘马’的
SELECT id,name,age,sex,address,math,english,hire_date FROM stu WHERE name like '马%';

-- 查询第二个字是‘花’的
SELECT id,name,age,sex,address,math,english,hire_date FROM stu WHERE name like '_花%';

-- 查询名字中有‘运’的
SELECT id,name,age,sex,address,math,english,hire_date FROM stu WHERE name like '%运%';

(三)排序查询

1、排序查询语法SELECT 字段列表 FROM 表名 ORDER BY 排序字段名1 [排序方式1],排序字段名2 [排序方式2]…;排序方式:ASC:升序排列(默认)DESC:降序排列注意: 如果有多个排序条件,当前边的条件值一样时,才会根据第二条进行排序-- 查询年龄按照升序
SELECT id,name,age,sex,address,math,english,hire_date FROM stu ORDER BY age ASC;

-- 查询按照数学成绩降序排列
SELECT id,name,age,sex,address,math,english,hire_date FROM stu ORDER BY math DESC;

-- 查询,按数学成绩降序排列,如果数学成绩一样,再按照英语升序排列
SELECT id,name,age,sex,address,math,english,hire_date FROM stu ORDER BY math DESC,english ASC;

(四)聚合函数

1、聚合函数的概念将一列数据作为一个整体,进行纵向计算。2、聚合函数的分类:

3、聚合函数的语法SELECT 聚合函数名(列名) FROM 表;注意:null值不参与所有聚合函数运算。-- 统计指定列的数量
SELECT count(name) FROM stu;

english列中有一个数据为null,所以统计数量为9,因此,统计数据时要选用不为null的列。推荐直接在括号内写*

-- 查询数学成绩最高的
SELECT max(math) FROM stu;

-- 查询数学成绩最低的
SELECT min(math) FEOM stu;

-- 求数学成绩总和
SELECT sum(math) FEOM stu;

-- 数学成绩平均值
SELECT avg(math) FEOM stu;

(五)分组查询

1、分组查询语句
SELECT 字段列表 FROM 表名 [WHERE 分组前条件限定] GROUP BY 分组字段名 [HAVING 分组后条件过滤];
注意:分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义。where和having的区别:(1)执行的时机不一样:where是分组之前进行限定,不满足where条件,则不参与分组,而having是分组之后对结果进行过滤(2)可判断的条件不一样:where不能对聚合函数进行判断,having可以。执行顺序:where>聚合函数>having查询男女生各自的数学平均分
SELECT avg(math) FROM stu GROUP BY sex;

查询男女生各自数学平均分,以及各自人数
SELECT avg(math),count(*) FROM stu GROUP BY sex;

查询男女生各自数学平均分,以及各自人数,要求:分数低于70不参与分组
SELECT avg(math),count(*) FROM stu WHERE math>=70 GROUP BY sex;

查询男女生各自数学平均分,以及各自人数,要求:分数低于70不参与分组,分组之后人数大于两个的。
SELECT avg(math),count(*) FROM stu WHERE math>=70 GROUP BY sex HAVING count(*)>2;

(六)分页查询

1、分页查询语法SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询条目数;起始索引:从0开始计算公式:起始索引=(当前页码-1) * 每页显示的条数提示:(1)分页查询limit是MySQL数据库的方言(2)Oracle分页查询使用rownumber(3)SQL server分页查询使用top从0开始查询3条数据
SELECT id,name,age,sex,address,math,english,hire_date FROM stu LIMIT 0,3;

每页显示三条数据,查询第一页数据
SELECT id,name,age,sex,address,math,english,hire_date FROM stu LIMIT 0,3;

每页显示三条数据,查询第二页数据
SELECT id,name,age,sex,address,math,english,hire_date FROM stu LIMIT 3,3;

每页显示三条数据,查询第三页数据
SELECT id,name,age,sex,address,math,english,hire_date FROM stu LIMIT 6,3;

MySQL笔记——DQL查询数据相关推荐

  1. MySQL中DQL查询数据——(四)

    MySQL中DQL查询数据--(四) 本篇博客,是个人根据 西部开源-秦疆老师的教学视频整理出的笔记,想看最详细的教学笔记和提供的SQL语句素材,请点击如下链接: https://www.cnblog ...

  2. JAVA-MySQL四{MySQL重点DQL查询数据}JAVA从基础开始 --7

    JAVA-MySQL四{MySQL重点DQL查询数据}JAVA从基础开始 --7 DQL查询语句 DQL - Data Query Language:数据查询语言 指定查询字段 1.全查 2.指定字段 ...

  3. 4.MySQL的DQL查询数据

    4.1DQL (Data Query LANGUAGE):数据查询语言 所以的查询操作都用它, Select 简单和复杂的查询它都能做!5](5.png) 数据库中最核心的语言,最重要的语言 使用频率 ...

  4. MySQL之DQL(数据查询语言)- 表连接查询

    目录 一.简介 1.1.男生表 1.2.女生表 二.左连接查询(左外连接) 三.右连接查询(右外连接) 四.内连接查询 五.全连接查询 五.自连接查询 六.子查询 七.伪表查询 学习计划: 一.简介 ...

  5. MySQL学习总结(2) --- 数据表管理(增删改查)、使用DQL查询数据(SELECT)

    MySQL学习总结(2) - 数据表管理(增删改查).使用DQL查询数据(SELECT) 1. 数据管理(增删改查) 数据库数据管理方法: a.通过SQLyog等管理工具管理数据库数据 b. 通过DM ...

  6. 数据库应用——DQL查询数据(连表查询 子查询 详细案例)

    DQL查询数据 DQL Select完整的语法 练习用的sql脚本 指定查询字段 where 条件子句 连表查询(重要) 三种join的比较 连表查询练习 自连接 分页和排序 子查询 分组和过滤 DQ ...

  7. MySQL之DQL(数据查询语言)-常见关键字

    目录 一.简介 二.SELECT 2.1.查询所有 2.2.查询指定的列 2.3.别名 2.4.其他特别使用 三.FROM 3.1.表 3.2.结果集 四.WHERE 五.COUNT 六.LIMIT ...

  8. MySQL基础之查询数据

    MySQL基础之查询数据 一.DQL操作表中记录环境搭建 细节:查询只是查看数据,不会修改表中数据 创建商品表(goods2)包含: 商品名称(name),商品价格(price),商品销量(sales ...

  9. java查询mysql装载bean_jsp与javabean链接mysql数据库并查询数据表的简单实例源码

    jsp与javabean链接mysql数据库并查询数据表的简单实例源码.这个简单的实例是给新手学习的,或者一些高手临时忘记怎么使用jsp操作mysql数据库时候查找的,包括了建立mysql数据库连接的 ...

最新文章

  1. 生鲜电商APP开发,有哪五大商机?
  2. 30. Leetcode 83. 删除排序链表中的重复元素 (链表-双指针)
  3. 字符串根据字典值排序问题
  4. java scoket网络编程_嵌入式狗的JAVA之路 socket 网络编程
  5. stm32f103 spi slave从机模式miso需要上拉
  6. Thymeleaf中使用select进行消息回显时提示:Exception evaluaating SpringEL expression
  7. MySQL升级后 MySQL 5.7 时间不兼容问题
  8. Objective-C之null NaN undefined
  9. 数据结构队列代码_代码简介:队列数据结构如何工作
  10. C++手写快读详解(快速读入数字)
  11. Elasticsearch--springcloud整合 high-level-client-测试-复杂检索---全文检索引擎ElasticSearch工作笔记025
  12. 压缩JS方法:uglifyjs
  13. 深入Java集合学习系列:Hashtable的实现原理
  14. 使用akka框架编写RPC框架
  15. resetlog oracle,用RMAN的全备恢复resetlog之前的数据
  16. 东大22春领导科学与决策X《领导科学与决策》在线平时作业3百分非答案
  17. 【机器学习】AI去马赛克工具(图像修复)
  18. 孢子社群:今日推荐人工智能微信群:粤、沪、鄂人工智能产业化集群1
  19. Could not build wheels for xx which use PEP 517 and cannot be installed directly
  20. win10,GTX1650配置cuda10.1,cudnn7.6.5,cv2环境参考

热门文章

  1. cglib实现动态代理
  2. JSON简介,语法,在html中应用
  3. 1004 成绩排名 (20分)
  4. 【软件开发底层知识修炼】二十五 ABI之函数调用约定二之函数返回值为结构体时的约定
  5. 利用Lombok编写优雅的spring依赖注入代码,去掉繁人的@Autowired
  6. Android笔记-Activity相关+内存泄漏
  7. 树上倍增求LCA详解
  8. 【转】Apache 配置虚拟主机三种方式
  9. Oracle 数据库中对记录进行分页处理
  10. 2016年4月 之 《C程序设计语言》