第二章 检索数据
2.1 检索不同的值
- 返回不同的值
SELECT DISTINCT ID
FROM Product;
不能部分使用DISTINCT,作用于所有的列
2.2 限制结果
- 限制最多返回多少行
SELECT TOP 5 prod_name
FROM Product;
2.3 注释
- 用--来表示
- 用/**/来表示
第三章 排序检索数据
3.1 排序函数
- 按照某个列排序
- order by 要放到select语句的最后一条子句
- 通常order by子句中使用的列是显示的列,但是用非检索的列也是完全合法的
SELECT prod_name
FROM Products
ORDER BY prod_name;
- 按照多个列排序
- 只有在prod_name相同时,才会按照prod_price排序
SELECT prod_name,prod_price
FROM Products
ORDER BY prod_name,prod_price;
- 按列位置排序
SELECT prod_name,prod_price
FROM Products
ORDER BY 2,3;
- 指定排序方向
- DESC:降序排序
- ASC:升序排序,默认
SELECT prod_name,prod_price
FROM Products
ORDER BY prod_price DESC;
第四章 过滤数据
4.1 使用WHERE子句
SELECT prod_name,prod_price
FROM Products
WHERE prod_price=3.9
4.2 WHERE子句操作符
- 等于 =;不等于 <>;不等于 !=;不小于 !<;不大于!>;BETWEEN AND 在指定的两个值之间;IS NULL 为空值
WHERE prod_price BETWEEN 5 AND 10;
第五章 高级数据过滤
5.1 组合WHERE子句
- AND操作符
- OR操作符
- IN操作符
- IN操作符可以包含其他SELECT语句
WHERE vend_id IN ('DLL01','BRS01')
- NOT操作符
WHERE NOT vend_id='DLL01'
第六章 用通配符进行过滤
- % 通配符
- %表示任何字符出现任意次数
WHERE prod_name LIKE 'Fish%'
- _ 通配符
- _表示匹配单个字符
- 【】通配符
- 【】 用来指定一个字符集
WHERE prod_name LIKE '[JM]%' --表示用J或M开头的单词
WHERE prod_name LIKE '[^JM]%' --表示不是用J或M开头的单词
第七章 创建计算字段
7.1 拼接字段
SELECT Concat(name,'(',country,')')
7.2 去掉数据中的空格
- RTRIM()函数
SELECT Concat(RTRIM(name),'(',country,')')
7.3 执行算术计算
select a*b
7.4 使用函数处理数据
7.4.1 文本处理函数
- 转大写:UPPER()
- 转小写:LOWER()
- 返回字符串左边的字符:LEFT()
- 返回字符串右边的字符:RIGHT()
- 返回字符串的长度:LEN()、LENGTH()、DATALENGTH()
- 去掉字符串右边的空格:RTRIM()
- 提取字符串的组成部分:SUBSTR()或SUBSTRING()
7.4.2 数值处理函数
- 数的绝对值:ABS()
- 角度的余弦值:COS()
- 数的指数值:EXP()
- 数的平方根:SQRT()