13.select语句条件查询

(1)比较条件

select Sno,Sname
from Students
where Dno = 'D03'

格式:

select [预查询数据]
from [表名]
where [条件]

如果是多个条件复合,则用and相连

select [预查询数据]
from [表名]
where [条件1] and [条件2] and …

SQL涉及的运算符和函数

=,>,<,>=,<=,!=,!<,!>等于,大于,小于…
BETWEEN AND,NOT BETWEEN AND介于两者之间,不介于两者之间
IN, NOT IN在其中,不在其中
LIKE, NOT LIKE匹配,不匹配
IS NULL, IS NOT NULL是空值,不是空值
NOT, AND, OR非,与,或
COUNT(*), COUNT(列名), SUM(列名),AVG(列名),MAX(列名),MIN(列名)统计元组个数,统计列值个数,列值汇总,列值平均值,列值最大值,列值最小值

列子:

select Sname,Datename(yyyy,getdate()) - year(Birthday) Sage
from Students
where dataname(yyyy,getdate()) - year(Birthday) >= 18 and 
datename(yyyy,getdate()) - year(Birthday) <= 22

也可以写成:

select Sname,Datename(yyyy,getdate()) - year(Birthday) Sage
from Students
where dataname(yyyy,getdate()) - year(Birthday) between 18 and 22

如果要查询不在18到22之间的,则为

select Sname,Datename(yyyy,getdate()) - year(Birthday) Sage
from Students
where dataname(yyyy,getdate()) - year(Birthday) not between 18 and 22

like的用法

在SQL中,%表示任意长度字符(可为0),_表示单个字符。
下面,我们从例子来讲解这些东西。

select Sname,Sno,Ssex
from Students
where Sname like '刘%'

则输出所有Sname 第一个字为刘的。
如果要所有包含刘字的,那么使用 %刘%
如果要刘某某,则使用刘__
如果要查询所有不姓刘的,则使用:

select Sname,Sno,Ssex
from Students
where Sname not like '刘%'

如果要查询的信息包含_,例如,查询Cname名为 “DB_设计” 的数据,那么可以使用

select Cno,Credits
from Courses
where Cname like 'DB\_设计' escape '\'

ecape ‘\’ 表示 \ 为换码字符

is null和is not null的用法

对于列数据为NULL的数据,不可以用=来查询。要用is null跟is not null来查询.
比如:

select Sno,Cno
from Reports
where Grade is null

如果用Grade = null,会导致得不到正确的查询结果。

查询结果排序

语句:

select Sno,Grade
from Reports
where Cno = 'C03'
order by Grade desc

这里再次说一下,asc是升序排列,desc是降序排列
格式为:

select [列名]
from [表名]
where [条件]
order by [列名] [排列方式]

集函数的使用

语句:

select count(*)
from Students

以上语句输出列数

语句:

select count(distinct Sno)
from Students

以上语句输出Students的Sno列数(不重复)
其他的max,min,avg,sum等跟这个类似。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值