数据库入门介绍及SQL语句(三)

DQL

DQL语言是用来检索表中数据的语言

                                          执行顺序

SELECT           子句                 6

FROM             子句                 1

JOIN.. ON..     子句                 2

WHERE           子句                 3

GROUP BY      子句                 4

HAVING          子句                 5   

ORDER BY      子句                 7

LIMIT             子句                 8

基础查询

一条DQL语句中至少要包含的子句有两个:SELECT子句和FROM 子句

SELECT子句用来指定检索表中哪些字段

FROM 子句用来指定检索哪些表

SELECT 字段1[,字段2,...]  字段可以是具体字段名,也可以是"*",也可以是函数                                         或表达式

FROM 表1[,表2]

SELECT * FROM 表名,可以检索表中所有记录,并且结果集会列出该表每条记录所有字段

WHERE子句

在DQL中添加WHERE子句时,可以仅将满足WHERE子句要求的记录检索出来

连接多个条件

AND:"与",都为真时才为真

OR:"或",都为假时才为假

AND优先级高于OR的

为了提高OR的优先级,可以使用"()"

IN(列表)

IN(列表):判断是否等于列表中的其中之一

NOT IN(列表)

NOT IN(列表):判断不在列表中

BETWEEN...AND...

BEWTEEN...AND...用于判断是否在一个区间范围内

DISTINCT去重

DISTINCT关键字要紧跟在SELECT关键字之后

作用:可以将DISTINCT后面指定的字段值相同的记录从结果集中去除.

LIKE,模糊查询

LIKE中有两个通配符:

_:下划线表示任意一个字符(1个)

%:百分号表示任意个字符(0-多个)

LIKE  '%X%' :字符串中含有X(X前面可以有任意个字符,后面也可以有任意个字符)  

LIKE  '_X%' :字符串中第二个字符是X

LIKE  'X%' :字符串以X开头

LIKE  '%X' :字符串以X结尾

LIKE  '%X_Y' :字符串倒数第三个字符是X,最后一个字符是Y

NULL值判断

判断一个字段的内容是否为空:

IS NULL:判断字段值为空

IS NOT NULL:判断字段值不为空

不可以使用=或<>判断NULL值

ORDER BY-排序

ORDER BY子句,用于对结果集按照指定的字段进行升序或降序排序.

ORDER BY 字段名 [ASC]:将结果集按照指定的字段升序排(从小到大)

ORDER BY 字段名 DESC:将结果集按照指定的字段降序排(从大到小)

可以按照多字段排序,排序存在优先级,优先按照第一个字段排序结果集,当第一个字段值相同的记录再按照第二个字段排序以此类推.

不指定排序方式时,默认为升序

ORDER BY 子句应当是DQL中最后一个子句(由于方言的存在,在Mysql,MariaDB中分页使用时会在其后追加LIMIT子句)

分页查询

将一个DQL的查询结果集分段查询出来.

场景:

当一个DQL语句查询的结果集记录数很多时,我们就可以分段将数据查询数来,提高查询速度减少资源开销

方言:

分页没有在SQL92中定义规定的语法,因此分页是方言,不同的数据库分页语法可能完全不一样.

在Mysql和MariaDB中使用LIMIT子句来完成,而ORACLE则是使用ROWNUM伪列来完成.

ORDER BY 字段

LIMIT M,N

M表示跳过结果集中的多少条记录

N检索出多少条记录

在分页中常见的两个参数:

每页显示的记录数

当前要显示第几页

分页的计算公式:

M:(当前页数-1)*每页显示的记录数

N:每页显示的记录数

DQL中使用函数或表达式请见(四)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值