当前位置:   article > 正文

13.select语句条件查询_select 条件语句

select 条件语句

(1)比较条件

select Sno,Sname
from Students
where Dno = 'D03'
  • 1
  • 2
  • 3

格式:

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
  • 1
  • 2
  • 3
  • 4

也可以写成:

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

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

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

like的用法

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

select Sname,Sno,Ssex
from Students
where Sname like '刘%'
  • 1
  • 2
  • 3

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

select Sname,Sno,Ssex
from Students
where Sname not like '刘%'
  • 1
  • 2
  • 3

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

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

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

is null和is not null的用法

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

select Sno,Cno
from Reports
where Grade is null
  • 1
  • 2
  • 3

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

查询结果排序

语句:

select Sno,Grade
from Reports
where Cno = 'C03'
order by Grade desc
  • 1
  • 2
  • 3
  • 4

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

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

集函数的使用

语句:

select count(*)
from Students
  • 1
  • 2

以上语句输出列数

语句:

select count(distinct Sno)
from Students
  • 1
  • 2

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/189165
推荐阅读
相关标签
  

闽ICP备14008679号