数据库查询语言---select

select基本语句

  • select语句是用于查询表中数据的语句,它是SQL语句中的一部分。

  • select的基本语句结构:

select 查询的结果列|*|列名
from 表名
where 条件
group by 分组依据列
having 以聚合函数的值为条件
order by 排序依据列
  • SQL语句不区分大小写。

  • SQL语句可以写成一行或多行。

  • 在select语句中使用*查询效率低。

算术运算符

  • +,-,*,/

select 100+200; -- 结果:300
select 100+'200'; -- 结果:300
select 100+'ABC'; -- 结果:100
select 100+null; -- 结果:NULL
select 100+'ABC'+null; -- 结果:NULL
  • 在关系数据库中,当算术运算中出现NULL时,算术运算的结果一定为NULL。

列别名

  • 关系数据库中设置别名的方式有两种方式:

  • 列名 列别名

  • 列名 as 列别名

  • 当列名包含特殊字符时,或者列别名为关键字时,需要将列别名放在一对引号中。

  • MySQL中双引号与单引号是等价的。

  • 中文可以直接作为别名。

DISTINCT关键字

  • 屏蔽查询结果中重复的行。

  • 一个select语句中只能出现一个DISTINCT关键字,且必须出现在select与第一个列之间。

where

  • 基本语法顺序:

select        3
from          1
[where 条件]  2 -- 条件的结果一定是boolean类型
  • 条件为字符串类型,需要在值的两端添加引号

  • 条件为日期类型,需要在值的两端添加引号。

比较运算符

  • >,>=,<,<=,=,!=,<>

特殊的比较运算符

  • between...and...:查询指定范围内的数据(包含边界值)。

  • in(值列表):查询与列表中任意一个值的匹配的数据,只能用于判断是否相等。

  • like:模糊查询

  • %:表示任意长度的任意字符。

  • _:表示一个长度的任意字符。

  • escape:用于声明一个符号,设置like查询的内容中此符号后面的一个_或%,不再是转义字符而是查询的内容。

  • 例:查询课程名为DB_Design的课程。

select course
from s
where course like‘DB#_Design’ escape ‘#’;
  • is null/is not null:判断列中的数据是否为NULL。

逻辑运算符

  • and、or、not

  • and与or的作用:连接条件。

  • and的优先级大于or。

排序(order by子句)

  • 基本语法顺序:

select        3
from          1
where         2
order by 列名 4
  • 升序:从小到大顺序排序。升序排序关键字ASC,默认为升序排序(可省)

  • 降序:从大到小顺序排序,降序排序关键字DESC。

  • 多列排序:order by 子句可以出现多个列,列之间使用逗号分隔。

Group By子句

group by子句作用:分组。

select   4
from     1
where    2
group by 3
order by 5
  • 当select子句中一部分列为非聚合函数,一部分为聚合函数时,必须使用GROUP BY子句。

  • 使用GROUP BY子句时,select子句中非聚合函数的列必须出现在group by子句中参加分组。

  • group by 中可以出现多个列,列之间使用逗号分隔。

Having 子句

  • having子句的作用:过滤分组的结果。使用having子句时需要使用group by子句。

  • where子句与having子句的区别

  • 使用WHERE子句时不需要使用GROUP BY子句 但使用HAVING子句时要用GROUP BY子句。

  • WHERE子句中不能使用聚合函数作为过滤条件。HAVING子句中可以使用聚合函数作为过滤

条件。

select     5
from       1
where      2
group by   3
having     4
order by   6
  • 当条件可以出现在WHERE子句或HAVING子句中时,建议将条件放在WHERE子句中,可以提高查

询的效率。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值