目录
本篇中我将主要介绍Select语句以及Where子句的写法,这是SQL语言中最地基的一块内容,必须牢牢掌握才能为未来写出复杂的功能多样化的SQL语句打下坚实基础。
SELECT 语句用于从表中选取数据。结果被存储在一个结果表中(称为结果集)。
SELECT 列名称 FROM 表名称
SELECT * FROM 表名称
注释:SQL 语句对大小写不敏感。SELECT 等效于 select。
(a) 取表内全部字段
取一张表的全部字段时候,我们将用*代表全部进行筛选。
select * from [dbo].[spring05]
(b)取表内部分字段
将所需要的字段名写在Select之后进行筛选可以得到选取部分字段的查询结果。
select ProductCode,[Source of sales] from [dbo].[spring05]
在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。关键词 distinct 用于返回唯一不同的值。
SELECT DISTINCT 列名称 FROM 表名称
如果要从dbo.spring05表中选取source of sales这个字段,我们会运行如下SQL语句:
select [Source of sales] from [dbo].[spring05]
从结果集中我看到Source of sales这个字段有很多值是重复的。为了去除重复,一个值只出现一次,我们就需要使用distinct关键字来去重。
select distinct [Source of sales] from [dbo].[spring05]
如上图所示,现在Source of sales字段中每个值就只出现一次了。
WHERE 子句用于规定选择的标准。如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
下面的运算符可在 WHERE 子句中使用:
操作符 | 描述 |
---|---|
= | 等于 |
<> | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
BETWEEN | 在某个范围内 |
LIKE | 搜索某种模式 |
注释:在某些版本的 SQL 中,操作符 <> 可以写为 !=。
在dbo.spring05表中选取Source of sales的值为Shipping的记录行。
select * from [dbo].[spring05] where [Source of sales]='Shipping'
请注意,我们在例子中的条件值周围使用的是单引号。SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,尽量请不要使用引号。
(a)文本值:
- #这是正确的:
- select * from [dbo].[spring05] where [Source of sales]='Shipping'
-
- #这是错误的:
- select * from [dbo].[spring05] where [Source of sales]=Shipping
报错截图 :
(b)数值:
- 这是正确的:
- SELECT * FROM dbo.rules WHERE RULE_ID = 1091
-
- 尽量不要这样写:
- SELECT * FROM dbo.rules WHERE RULE_ID = '1091'