今天是写MSSQLSERVER的第二天,还是一个目的就是为了学习而学习,因为在这个年代,我不能停止学习,因为一天不学习觉得心里空虚!!! 回到正题。
SQLSERVER
distinct (去重复)
语法:select distinct 列名 from 表名 order by 列名
这个distinct 就是要把列的重复值去掉,只留唯一值,请看下面这个例子:
表:orders
Company | OrderNumber |
IBM | 3532 |
W3chool | 2356 |
Apple | 4698 |
W3School | 6953 |
上面orders表Company字段中有两个W3school 那么我想去掉重复,只留唯一值,怎么做?请看下面的语句和示例:
语法:select distinct company from orders
结果:如下图,在这个结果中W3chool只出现了一次。
Company |
IBM |
W3chool |
Apple |
where 子句一般用于规定选择的标准。
语法:select * from 表名 where 列名 运算符的值.
下面的这个表格的运算符都是用在where语句后面的示例如下:
操作符 | 描述 |
<> | 不等于 |
> | 大于 |
< | 小于 |
<= | 小于等于 |
>= | 大于等于 |
= | 等于 |
BETWEEN | 在某个范围之内的值 |
LIKE | 搜索某种模式 |
注意:在某些数据库中操作符<>不等于,要写成!=。
语法:select * from 表名 where 列名= (等号这里可以是:>,<,<>,>=,<=)
select * from 表名 where 列名 between
select * from 表名 where 列名 like
请看下图示例:persons表
LastName | FirstName | Address | City | Year |
Adams | John | Oxford Street | London | 1970 |
Bush | George | Fifth Avenue | New York | 1975 |
Carter | Thomas | Changan Street | Beijing | 1980 |
Gates | Bill | Xuanwumen10 | Beijing | 1985 |
在上面这个示例中只希望找出居住在城市‘beijing’的人,那么我就需要向select 语句添加where子句:语句如下:
select * from perosns where city='beijing' 那么得到的结果如下图所示:
LastName | FirstName | Address | City | Year |
Carter | Thomas | ChanganStreet | Beijing | 1980 |
Gates | Bill | Xuanwumen10 | Beijing | 1985 |
在这里需要注意的是:引号的应用,那么在SQL中使用的是单引号来环绕文本值,但是大部分数据库也使用双引号来环绕文本值,那么数值型是不用引号的。正确的示例如下:
文本型示例:select * from persons where Firstname='Thomas'
数值型示例:select * from persons where Year=1975