SQL语言学习(四)

2016-08-26  本文已影响22人  NelsonZheng

13. Between操作符

选取介于两个值之间的数据范围内的值,

这些值可以是数值、文本或者日期。

SELECT column_names
FROM table_name
WHERE column_name BETWEEN value1 and value2;

NOT between操作符

select * from Products
where Price not between 10 and 20;

带有IN 的between操作符

select * from Products
Where (Price between 10 and 20)
and not CategoryID IN (1,2,3);

带有文本的between

select * from Products
where ProductName between 'C' and 'M';

带有文本的not between

select * from Products
where ProductName Not between 'C' and 'M';

带有日期的between操作符

select * from Products
where OrderDate between #07/04/1996# and #07/09/1996#;

注意!

某些数据库中,BETWEEN 选取介于两个值之间但不包括两个测试值的字段。
在某些数据库中,BETWEEN 选取介于两个值之间且包括两个测试值的字段。
在某些数据库中,BETWEEN 选取介于两个值之间且包括第一个测试值但不包括最后一个测试值的字段。

14. SQL 连接(Joins)

join用于把两个或多个表的行结合起来。

SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers
ON Orders.CustomerID=Customers.CustomerID;

不同的 SQL JOIN

在我们继续讲解实例之前,我们先列出您可以使用的不同的 SQL JOIN 类型:

15. INNER JOIN关键词

INNER JOIN 关键字在表中存在至少一个匹配时返回行。

SELECT column_name(s)
FROM table1
INNER JOIN table2
 ON table1.column_name=table2.column_name;
SQL INNER JOIN

16. LEFT JOIN关键词

LEFT JOIN 关键字从左表(table1)返回所有的行,即使右表(table2)中没有匹配。如果右表中没有匹配,则结果为 NULL。

select column_names
from table1
left join table2
on table1.column_name=table2.column_name;

在有些数据库中,left join 也称为left outer join

SQL LEFT JOIN

17. RIGHT JOIN关键词

RIGHT JOIN 关键字从右表(table2)返回所有的行,即使左表(table1)中没有匹配。如果左表中没有匹配,则结果为 NULL。

SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name=table2.column_name;

注释:在某些数据库中,RIGHT JOIN 称为 RIGHT OUTER JOIN。

SQL RIGHT JOIN

18. FULL OUTER JOIN关键词

FULL OUTER JOIN 关键字只要左表(table1)和右表(table2)其中一个表中存在匹配,则返回行.

FULL OUTER JOIN 关键字结合了 LEFT JOIN 和 RIGHT JOIN 的结果。

SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name=table2.column_name;
SQL FULL OUTER JOIN
上一篇 下一篇

猜你喜欢

热点阅读