MySQL的常用DQL(数据查询语言)整理

MySQL常用DQL

    • 最基本的SELECT
      • 查询所有列
      • 查询指定的列
      • 列的别名
      • 查询表达式
      • 查询函数
      • 去重复
      • 特别注意
    • 过滤和排序
    • 分组查询
    • 连接查询
    • 常见函数
    • 子查询
    • 分页查询

最基本的SELECT

查询所有列

划重点:实际项目开发中禁止使用*号来代替所有列名!!!

SELECT b_id,b_name,b_price FROM tb_book

MySQL的常用DQL(数据查询语言)整理_第1张图片

查询指定的列

SELECT b_name FROM tb_book

MySQL的常用DQL(数据查询语言)整理_第2张图片

列的别名

AS可写可不写,别名使用单引号或双引号引起来

SELECT b_id AS '编号',b_name AS '书名',b_price AS '价格' FROM tb_book

MySQL的常用DQL(数据查询语言)整理_第3张图片

查询表达式

SELECT 8%3

MySQL的常用DQL(数据查询语言)整理_第4张图片

查询函数

SELECT VERSION()

MySQL的常用DQL(数据查询语言)整理_第5张图片

去重复

DISTINCT

SELECT DISTINCT address FROM tb_job

MySQL的常用DQL(数据查询语言)整理_第6张图片

特别注意

+号:在Java中操作的两个对象都为数值型时表示运算符,只要有一个为字符串时则表示拼接;而在MySQL中+号只表示运算符,若操作的对象中有字符串,会先尝试把它转换成数值,转换失败则把它变成“0”。
MySQL的常用DQL(数据查询语言)整理_第7张图片
MySQL的常用DQL(数据查询语言)整理_第8张图片
null:只要运算的一方为null,则无论如何结果都为null
MySQL的常用DQL(数据查询语言)整理_第9张图片

过滤和排序

查询价格高于20的书籍

SELECT b_id,b_name,b_price FROM tb_book WHERE b_price>20

MySQL的常用DQL(数据查询语言)整理_第10张图片
查询价格高于20且书籍编号大于9的书籍

SELECT b_id,b_name,b_price FROM tb_book WHERE b_price>20 AND b_id>9

MySQL的常用DQL(数据查询语言)整理_第11张图片
查询价格高于30或书籍编号小于9的书籍

SELECT b_id,b_name,b_price FROM tb_book WHERE b_price>30 OR b_id>9

MySQL的常用DQL(数据查询语言)整理_第12张图片
查询书名中有“斗”字的书籍

SELECT b_id,b_name,b_price FROM tb_book WHERE b_name LIKE '%斗%'

MySQL的常用DQL(数据查询语言)整理_第13张图片
查询价格在20-40之间的书籍

SELECT b_id,b_name,b_price FROM tb_book WHERE b_price BETWEEN 20 AND 40

MySQL的常用DQL(数据查询语言)整理_第14张图片
查询价格为100或50或40的书籍

SELECT b_id,b_name,b_price FROM tb_book WHERE b_price IN (50,100,40)

MySQL的常用DQL(数据查询语言)整理_第15张图片
查询价格不为空的书籍

SELECT b_id,b_name,b_price FROM tb_book WHERE b_price IS NOT NULL

MySQL的常用DQL(数据查询语言)整理_第16张图片
按价格升序排列,ORDER BY xxx,ASC可以省略

SELECT b_id,b_name,b_price FROM tb_book ORDER BY b_price ASC

MySQL的常用DQL(数据查询语言)整理_第17张图片
按价格降序排列,DESC

SELECT b_id,b_name,b_price FROM tb_book ORDER BY b_price DESC

MySQL的常用DQL(数据查询语言)整理_第18张图片

分组查询

查询所有书籍的价格总和,SUM

SELECT SUM(b_price) FROM tb_book

MySQL的常用DQL(数据查询语言)整理_第19张图片
查询书籍的平均价格,AVG

SELECT AVG(b_price) FROM tb_book

MySQL的常用DQL(数据查询语言)整理_第20张图片
查询价格最大的书籍,MAX

SELECT MAX(b_price) FROM tb_book

MySQL的常用DQL(数据查询语言)整理_第21张图片
查询价格最小的书籍,MIN

SELECT MIN(b_price) FROM tb_book

MySQL的常用DQL(数据查询语言)整理_第22张图片
查询一共有多少本书,COUNT

SELECT COUNT(b_name) FROM tb_book

MySQL的常用DQL(数据查询语言)整理_第23张图片
查询每个地方各有多少个工作岗位,GROUP BY

SELECT COUNT(job),address FROM tb_job GROUP BY address

MySQL的常用DQL(数据查询语言)整理_第24张图片
查询每个地方各有多少个工作岗位,过滤掉数量少于5的

SELECT COUNT(job),address FROM tb_job GROUP BY address HAVING COUNT(job)>5

MySQL的常用DQL(数据查询语言)整理_第25张图片

连接查询

又称多表查询,当查询的字段来自多个表就会用到连接查询

SELECT a.b_id,a.b_name,a.b_price,b.b_type from tb_book a,tb_type b WHERE a.t_id=b.t_id

MySQL的常用DQL(数据查询语言)整理_第26张图片

常见函数

字符串函数

作用 函数 结果
转小写 LOWER(‘SQL Course’) sql course
转大写 UPPER(‘SQL Course’) SQL COURSE
拼接 CONCAT(‘Hello’, ‘World’) HelloWorld
截取 SUBSTR(‘HelloWorld’,1,5) Hello
长度 LENGTH(‘HelloWorld’) 10
字符出现索引值 INSTR(‘HelloWorld’, ‘W’) 6
字符截取后半段 TRIM(‘H’ FROM ‘HelloWorld’) elloWorld
字符替换 REPLACE(‘abcd’,‘b’,‘m’) amcd

数字函数

作用 函数 结果
四舍五入 ROUND(45.926, 2) 45.93
截断 TRUNC(45.926, 2) 45.92
求余 MOD(1600, 300) 100

日期函数

作用 函数 结果
获取当前日期 now()
将日期格式的字符转换成指定格式的日期 STR_TO_DATE(‘9-13-1999’,’%m-%d-%Y’) 1999-09-13
将日期转换成字符 DATE_FORMAT(‘2018/6/6’,‘%Y年%m月%d日’) 2018年06月06日

子查询

出现在其他语句中的select语句称为子查询,通俗的来说就是一个语句里包含着一个select语句
查询分类为“童话”的书籍信息

SELECT b_id,b_name,b_price FROM tb_book WHERE t_id=
(SELECT t_id FROM tb_type WHERE b_type='童话')

MySQL的常用DQL(数据查询语言)整理_第27张图片

分页查询

当界面上要显示的数据一页显示不全,需要分很多页时,就要用到分页查询

分页查询书籍表
LIMIT 开始的下标,每页显示条数

SELECT b_id,b_name,b_price FROM tb_book LIMIT 0,5

MySQL的常用DQL(数据查询语言)整理_第28张图片

你可能感兴趣的:(MySQL的常用DQL(数据查询语言)整理)