限制查询结果为前几行(利用TOP关键字)
'''
SELECT TOP 5 prod_name
FROM Products;
'''
排序(ORDER BY)
order by 必须是select语句中的最后一条语句
'''
SELECT prod_id,prod_price,prod_name
FROM Products
ORDER BY prod_price,prod_name;
'''
按列位置排序
'''
SELECT prod_id,prod_price,prod_name
FROM products
ORDER BY 2,3;
'''
排序方向
'''
SELECT prod_id,prod_price,prod_name
FROM products
ORDER BY prod_price DESC*/--按照价格降序排列
'''
注:DESC只作用于位于其前面的列名,若想对多列进行排序,必须每个字段后都指定DESC,ASC为默认,可不进行指定
过滤数据
select语句的where 子句指定的搜索条件
注:在同时使用order by和where语句时,应该让order by 位于where之后
高级过滤数据
--and操作符
'''
select prod_id,prod_price,prod_name
from products
where vend_id='DLL01' AND prod_price<=4;
'''
--or操作符
'''
select prod_name,prod_price
from products
where vend_id='DLL01' OR vend_id='BRS01';
'''
注:求值顺序and>or,所以必要时要加括号
'''
SELECT prod_name,prod_price
FROM products
WHERE (vend_id='DLL01' OR vend_id='BRS01')
AND prod_price>=10;
'''
--IN操作符
注:表示“属于”的含义,圆括号内由逗号分割开来的是范围,若所要搜索的内容在其范围内,则可进行匹配,功能与OR相当
'''
select prod_name,prod_price
from products
where vend_id in('DLL01','BRS01')
ORDER BY prod_name;
'''
--not 操作符(作用于where子句中)
1.not +条件:表示匹配除了这个条件之外的情况
'''
elect prod_name
from products
where not vend_id='DLL01'
order by prod_name;
'''
2.not in:表示“不属于”,不在此范围之内
通配符过滤
--%通配符,可匹配,0个,1个或多个字符,不会匹配产品名称为NULL的行
'''
select prod_id,prod_name
from Products
where prod_name like 'Fish%'
'''
'''
select prod_id,prod_name
from Products
where prod_name like '%bean bag%'
'''
'''
select prod_name
from Products
where prod_name like 'F%y'
'''
“-”下划线通配符:匹配任意单个字符
'''
select prod_id,prod_name
from Products
where prod_name like '___inch teddy bear';
'''
方括号通配符:用来指定一个字符集,他必须匹配指定位置(通配符的位置)的一个字符
'''
select cust_contact
from Customers
where cust_contact like '[JM]%'--表示已J或者M开头的
ORDER BY cust_contact
---若在JM方括号内接一个“^”表示不以JM开头
'''