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 類型:
- INNER JOIN:如果表中有至少一個匹配,則返回行
- LEFT JOIN:即使右表中沒有匹配,也從左表返回所有的行
- RIGHT JOIN:即使左表中沒有匹配,也從右表返回所有的行
- FULL 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