SQL数据库Select语句的基本语法、条件查询

Select基本语句

基本语法

select 列名 from  表名

【例】从学生表(Student)中查询所有学生的学号 单列

select 学号 from  Student

【例】查询课程表课程号、课程名、学分 多列用逗号“,”分隔符

select 课程号,课程名, 学分 from Course

【例】查询学生表(Student)中的所有信息 所有列用’ * ’ 代替

select  *  from  Student

当在select语句指定列的位置上使用*号时,表示选择表的所有列。

条件查询

【例】查询Student表中姓名为李明的相关信息 用where指明条件

select  * 
        from Student
        where 姓名=’李明’

【例】查询Student表中出生日期在1989-1-3以后的学生

select 姓名,出生日期
        from Student
        where 出生日期>’1989-1-3’

注:字符型或日期型的数据要用单引号引起来

and ,or

【例】查询Student表中学号为1101且姓名为李明的相关信息

select  * 
        from Student
        where 姓名=’李明’ and 学号=‘1101’

【例】查询Student表中姓名为李明或者学号为1101的相关信息

select  * 
        from Student
        where 姓名=’李明’ or 学号=‘1101’

between…and 在…范围之内

【例】查找总学分为60和70之间的学生所有信息

select * from Student where 总学分 between 60 and 70 --(大于60小于70)

【例】查找出生日期不在1980-8-26到1979-1-29的学生姓名

select 姓名,出生日期   from Student
   where出生日期 not between '1980-8-26 'and ‘1979-1- 29 ‘

* 注意时间的用法

in ==or

IN用于查找属性值属于指定集合的记录,与IN相对的谓词是NOT IN,in 关键字可以简化查询条件的书写

【例】查找分数为70和80的所有学生信息

use Grade
        select * from xs
        where 总学分 in(70,80) 

is关键字

在基本表中,如果那一列中没有输入数据,则它的值就为空,空值用一个特殊的数据NULL来表示,如果要判断某一列是否为空,不能用“=NULL”或“ <>NULL”来比较,只能用IS NULL或IS NOT NULL来运算

例:查询邮箱为空的学生记录

select * from Student 
where Email is null

distinct关键字

Distinct:从返回的结果数据集合中删除重复的行

【例】查询Grade数据库中Student表中的总学分,但是不能有重复的

use Grade
        select distinct 总学分
        from Student
        order by 总学分
        go

使用like子句进行模糊查询

like子句与通配符配合使用。Sqlserver提供4种通配符

1.%:表示任意字符

2. _:表示单个任意字符

3.[ ]:表示方括号里列出的任意一个字符.

4.[^]:表示任意一个没有在方括号里列出的字符.

基本语法:

select 字段名 from 目标表 where 字段名 like 条件

排序查询

order by排序:asc升;desc降

【例】查找学生的总学分以升序排列,出生日期以降序排列的学生姓名和学号

use Grade
        select  姓名,出生日期,总学分, 学号
        from Student
        order by 总学分 asc ,出生日期 desc

*以第一列为主序,再在第一列相等的基础上再对第二列排序;asc 默认,可省略

TOP关键字

top:关键字用于指定只返回前面一定数量的数据.

top n :表示返回最前面的n行.

【例】查询在Grade库中Student表中总学分最高的前5项的学生姓名

use Grade
         select top 5 总学分, 姓名   
         from Student
         order by 总学分 asc
         go

top. ..with ties 指定返回并列前N条记录

use northwind
select top 5 with ties orderid, productid, quantity
from [order details]
order by quantity desc
go

* with ties必须与order by连用

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐