1.select top
SELECT TOP 50 PERCENT * FROM Customers;
2.like
SELECT * FROM Customers
WHERE City LIKE ‘s%’; % 通配符
以s开头
not like 不包含
3.in
SELECT * FROM Customers
WHERE City IN ('Paris','London');
select * from cuntomers where city in('paris', 'london');
选择city是paris,london的
4.between
在什么之间
SELECT * FROM Products
WHERE Price BETWEEN 10 AND 20;
带有in的not between
SELECT * FROM Products
WHERE (Price BETWEEN 10 AND 20)
AND NOT CategoryID IN (1,2,3);
5.别名 as
在查询中涉及超过一个表
在查询中使用了函数
列名称很长或者可读性差
需要把两个列或者多个列结合在一起
SELECT o.OrderID, o.OrderDate, c.CustomerName
FROM Customers AS c, Orders AS o
WHERE c.CustomerName='Alfreds Futterkiste';
6.join
就是一些表中字段指向了别的表 4种取法
inner join:如果表中有至少一个匹配,则返回行
left join: 即使右表中没有匹配,也从左表返回所有的行
right join: 即使左表中没有匹配, 也从右表返回所有的行
full join: 只要其中一个表中存在匹配, 则返回行
7.union
UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。
union all 拿全部,重复也拿
带where的union all
SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION ALL
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;