DQL语言
DQL(数据查询语言):用于查询数据库对象中所包含的数据
DQL语言主要的语句:SELECT语句
DQL语言是数据库语言中最核心、最重要的语句,也是使用频率最高的语句
查询的主要类型:简单的单表查询或多表的复杂查询和子查询
什么是查询?
查询是由客户端程序向数据库服务器发送查询请求,然后数据库服务器向客户端程序返回查询结果集
1.查询产生一个虚拟表
2.看到的是表形式显示的结果,但结果并不真正存储
3.每次执行查询只是从数据表中提取数据,并按照表格的形式显示出来
SELECT语法
WHERE条件
where条件:用于检索数据表中符合条件的记录
搜索条件可由一个或多个逻辑表达式构成,结果一般为真或假
搜索条件的组成:逻辑操作符、比较操作符
逻辑运算符:
比较运算符:
NULL控制条件查询
NULL代表“无值”
区别于零值和空字符串“ ”
只能出现在定义允许为NULL的字段
需使用IS NULL 或IS NOT NULL 比较操作符去比较
BETWEEN AND 范围查询
LIKE模糊查询
使用IN进行范围查询
MySQl中的函数
MySQL中的函数将一些常用的处理数据的操作封装起来,大大简化了程序员的工作,提高了开发效率
因此,除了会使用SQL语句外,还需要掌握一些常用函数。
MySQL中的常用函数
聚合函数
字符串函数
日期时间函数
ORDER BY子句
ORDER BY 子句:实现按一定的顺序显示出查询结果
排序可以使升序(ASC)或降序(DESC),如果不指定升序或降序,结果集默认按升序排列
分页查询
LIMIT子句:MySQL查询语句中使用LIMIT子句限制结果集
GROUP BY子句
GROUP BY子句作用:使用GROUP BY 关键字对查询结果分组
对所有的数据进行分组统计
分组的依据字段可以有多个,并依次分组
与HAVING结合使用,进行分组后的数据筛选
GROUP BY子句经常和聚合函数结合使用完成分组统计功能
子查询:
子查询是一个嵌套在SELECT、INSERT、UPDATE或DELETE语句或其他子查询中的查询
子查询在WHERE语句中的一般用法
IN子查询
IN后面的子查询可以返回多条记录
常用IN替换等于(=)的查询
EXISTS子查询
EXISTS子查询:带有EXISTS的子查询不返回任何记录的数据,只返回逻辑值“true”或“false”
子查询注意事项
多表连接查询
内连接
内连接:内连接使用比较运算符根据每个表的通用列中的值匹配两个表中的行