mysql之进阶查询语句

本文详细介绍了MySQL的进阶查询语句,包括order by排序、and和or判断、distinct查询不重复记录、group by分组、limit限制输出条目以及设置别名。此外,还探讨了子查询的应用,如在insert、update和exists中的使用,以及视图的概念、区别和创建。文章最后讲解了NULL值的处理和含义。
摘要由CSDN通过智能技术生成

mysql之进阶查询语句

1常用查询

1.1order by按关键字排序

使用select 语句可以将需要的数据从mysql数据库中查询出来,如果对查询的结构进行排序,可使用order by语句来对语句实现排序,并最终将排序的结果返回给用户,这个语句语句的拍讯不光可以针对某一个字段,也可以针对多个字段。

select 字段1,字段2… from 表名 order by 字段1,字段2…【asc】

#查询结构以升序方式显示,asc可以省略

select 字段1,字段2… from 表名 order by 字段1,字段2…desc

#查询结构以降序方式显示

ASC是按照升序进行排序,是默认的排序方式,即ASC可以省略
select语句中如果没有指定具体的排序方式,则默认按ASC方式进行排序。
desc是安装降序方式进行排序,
order by 前面也可以使用weher子句对查询结构进一步过滤

升序排序

select id,name,score from info order by score asc;
#查询id,name,score字段的记录,并且以score 进行升序

image-20220920121542474

降序排序

select id,name,score from info order by score desc;
#查找id,name,score字段的记录,以score进行降序排列

image-20220920121740828

多字段排序

order by 语句也可以使用多个字段来进行拍讯,当排序的第一个字段相同的记录有多条的情况下,这些多条的记录再按照第二个字段进行排序,order by 后面跟多个字段时,字段之间使用英文逗号隔开,优先级是按先后顺序而定, 但order by 之后的第一个参数只有在出现相同值时,第二个字段才有意义
select name,score,id,age from school order by age,score desc;
#安装id先进行升序排序,如果id出现相同的话就按照score进行降序排列

image-20220920122155405

1.2and和or判断

在大型数据库中,有时查询数据需要数据符合某些特点条件, ”and“ 和 ”or“ 表示 ”且“ 和 ”或“。

and和or的使用

select id,name,score,address from test1 where score>=80; 查看score>=80

image-20220923155231961

select id,name,score,address from test1 where score>=80 order by score desc; 查看score>=80 并进行倒序排列

image-20220923155420139

select id,name,score from test1 where score<60 or score>80;

image-20220923155533201

1.3distinct 查询不重复记录

select distinct 字段 from 表名;
distinct 必须放在最开头
distinct 只能使用需要去重的字段进行操作
distinct 去重多个字段时,含义是:几个字段同时重复时才能被过滤,会默认按左边第一个字段为依据。
select distinct address from test1; 去掉重复的address
image-20220923160011836

<

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值