一、LEFT JOIN
1.1 用法
LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。
1.2 例子
“Persons” 表:
“Orders” 表:
现在希望列出所有人,以及他们的订购-如果有的话,可以使用下面的sql语句
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
LEFT JOIN Orders
ON Persons.Id_P=Orders.Id_P
ORDER BY Persons.LastName
结果:
二、GROUP BY
1.1 用法
GROUP BY语句常用于结合合计函数,根据一个或多个列对结果集进行分组
1.2 实例
假如我们拥有下面这个“Orders”表
现在我们希望查找每个客户的总金额(总订单),这里可以使用GROUP BY对客户进行组合,使用下列SQL语句:
SELECT Customer,SUM(OrderPrice) FROM Orders
GROUP BY Customer
结果集类似这样:
三、MIN
3.1 用法
MIN函数返回一列中的最小值,NULL值不包括在计算中。
3.2 实例
假设我们拥有下面这个“Orders”表
现在我们希望找到“OrderPrice”列的最小值。
可以使用如下SQL语句:
SELECT MIN(OrderPrice) AS SmallestOrderPrice FROM Orders
结果类似如下:
四、HAVING
4.1 用法
在SQL中增加HAVING子句的原因是,WHERE关键字无法与合计函数一起使用
4.2 例子
假设拥有下面这个“Orders”表
现在希望查找订单总金额少于2000的客户
可以使用如下SQL语句:
SELECT Customer,SUM(OrderPrice) FROM Orders
GROUP BY Customer
HAVING SUM(OrderPrice)<2000
结果如下:
假如我们希望查找客户“Bush”或“Adams”拥有超过1500的订单总金额
这里就使得WHERE和HAVING语句配合在一起使用:
SELECT Customer,SUM(OrderPrice) FROM Orders
WHERE Customer='Bush' OR Customer='Adams'
GROUP BY Customer
HAVING SUM(OrderPrice)>1500
结果如下:
五、LIKE
5.1 用法
LIKE操作符用于在WHERE子句中搜索列中的指定模式
5.2 通配符
在搜索数据库中的数据时,SQL通配符可以替代一个或多个字符。
SQL通配符必须与LIKE运算一起使用。
在SQL中可以使用以下通配符:
5.3 例子
原始的Persons表:
例子一:
现在我们希望从上面的Persons表中选取居住在以“N”开始的城市里的人:
我们可以使用如下的SQL语句:
SELECT * FROM Persons
WHERE City LIKE 'N%'
结果集:
例子二:
接下来,我们希望从Persons表中选取居住在包含“lon”的城市里的人:
我们可是使用下面的SELECT语句:
SELECT * FROM Persons
WHERE City LIKE '%lon%'
结果:
如果是不包含“lon”:
SELECT * FROM Persons
WHERE City NOT LIKE '%lon%'