最新

动态

实时

资讯

部门

通知

专业

速递

导语

爱学习的的小伙伴们,在学习专业知识的你们,是否有过困惑与不解,不要着急,本栏目致力于为同学们指路迷津。

《专业速递》——带你了解大数据的魅力!

一、基本概念

1.比较运算符

 WHERE子句的语法允许在表列的名称之后列值之前使用比较运算符(=、>、=、<=、<>),在比较运算条件的运算项中,可以使用常量关系中的属性,还可以使用通用的算术运算符(+、-、*、/)。

例如:

SELECT * FROM 选课表

WHERE 成绩>95

该结果集中只包含了所有成绩在95分以上的同学的信息

2.逻辑运算符

在WHERE子句中,可以使用逻辑运算符把若干个查询条件连接起来,组成复合条件。这些逻辑运算符包括AND、OR、NOT。当在同一条语句中同时包含多个逻辑运算符时,其优先级从高到低依次是NOT、AND、OR。

例如:

SELECT 学号,课程号,成绩

FROM 选课表

WHERE 课程号=‘1’ AND 成绩>80

该结果集检索选修了1号课程并且成绩在80分以上的同学的学号和成绩

3.BETWEEN...AND ( NOT BETWEEN...AND)

BETWEEN...AND ( NOT BETWEEN...AND)可以指定搜索范围,可以用来查找值在(不在)下限与上限之间。

例如:

SELECT *

FROM 学生表

WHERE 年龄 BETWEEN 20 AND 23 AND 性别=‘M’

该结果检索出学生表中年龄在20~23之间的所有男同学的信息

4.IN(NOT IN)

IN或者NOT IN 关键字允许指定要选择的取值表,意思是包含在由IN指定的列表之中或不包含由NOT IN 指定的列表中。

例如:

SELECT *

FROM 学生表

WHERE 班级IN(‘GZ02计5’,‘GZ02计6’,‘GZ02计7’)

该结果检索出学生表中GZ02计5,GZ02计6,GZ02计7三个班级的同学信息

5.字符串模糊匹配

字符串匹配功能是使用LIKE关键字来实现的。LIKE关键字用于检索与特定字符串相匹配的记录行。LIKE关键字后面跟一个值段而不是一个完整的列值。

LIKE关键字的使用形式如下:

列表 [NOT] LIKE

在LIKE关键字中,可以使用4种匹配符:

·%(百分号):匹配0个或多个字符;

·_(下划线):匹配任意一个字符;

·[]:匹配[]中的任意一个字符;

·[^]:不匹配[^]中的任意一个字符。

例如:

SELECT * FROM 学生表

WHERE 姓名 LIKE'陈%'

6.涉及空值的查询

空值(NULL)在数据库中有特殊的含义。空值NULL是指没有任何意义,它与数字0、空格字符、逻辑假不同,0、空格、假也是值,但NULL表示目前不能确定其具体内容。

判断取值是否为空值的语句格式为:

列名 IS [NOT] NULL

例如:

SELECT 学号,课程号

FROM 选课表

WHERE 成绩 IS NULL

二、案例精析

1.现有员工表(职工号,职工姓名,工资,部门)

    要求:查询工资在1500-2000的职工信息

答:

select * from 员工表

where 工资 between 1500 and 2000

解:

需要用where选择工资在1500到2000之间的员工,最后从员工表select职工的相应信息

2.现有供应零件(供应商代号,工程代号,零件代号,数量,供货日期)

     要求:查询供应商代号为S01的供应商在2016年以后的供货情况,包括零件代号、数量、供货日期。

答:

select 供应商代号,零件代号,数量,供货日期 from 供应零件

where 供应商代号='S01' and 供货日期>2016

解:

需要用where选择相应的供应商代号和年份,最后从供应零件表中select相应的供应商代号,零件代号,数量,供货日期

三、教你一招

HAVING用法与WHERE用法类似,但有三点不同:

1.HAVING只用于GROUP BY(分组统计语句)

2.WHERE是用于在初始表中筛选查询,HAVING用于WHEREGROUP BY结果中查询

3.HAVING可以使用聚合函数,而WHERE不能

例如

现有商品表(cat_id,name,store_count,shop_price)

统计出数量大于等于3的商品种类,商品名称,以及数量

答:

SELECT cat_id AS 商品种类,name AS 商品名称

解:

FROM 商品表

GROUP BY cat_id,name

HAVING COUNT(*)>=3

ORDER BY count(*) DESC;

今日的SQL的选择查询就先告一段落啦,大家以后学SQL的选择查询的时候就可以露一手咯!

信息来源:温职院大数据专业综合部

print("END")

审核:孙小涵

编辑:王景远   张智媛