SQL中 and or in的用法

1 .SQL IN 运算符


IN运算符允许您在WHERE子句中指定多个值。

IN运算符是多个OR条件的简写。


SELECT "栏位名
FROM "表格名
WHERE "栏位名" IN('值一', '值二', ...)

假设我们有两个表格:

tb_Teachers_info


tb_City_info


然而我们要在tb_Teachers_info中找出所有来自American的教师姓名

SQL语句: select TeachersName from tb_Teachers_info whereCity in('American');

结果:

如果我们要从tb_Teachers_info中找出与tb_City_info中同名教师的TeachersId

SQL 语句: select TeachersId from tb_Teachers_info whereTeachersName in(selectTeachersName from tb_City_info);

结果:


2.SQL BETWEEN 运算符

BETWEEN运算符选择给定范围内的值。值可以是数字,文本或日期。

BETWEEN运算符是包含性的:包括开始和结束值。 

SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;

演示数据库

在本教程中,我们将使用著名的Northwind示例数据库。

以下是"Products"表中的数据:

ProductID ProductName SupplierID CategoryID Unit Price
1 Chais 1 1 10 boxes x 20 bags 18
2 Chang 1 1 24 - 12 oz bottles 19
3 Aniseed Syrup 1 2 12 - 550 ml bottles 10
4 Chef Anton's Cajun Seasoning 1 2 48 - 6 oz jars 22
5 Chef Anton's Gumbo Mix 1 2 36 boxes 21.35


BETWEEN 运算符实例

以下SQL语句选择价格在10到20之间的所有产品:

实例

SELECT * FROM Products
WHERE Price BETWEEN 10 AND 20;


NOT BETWEEN 操作符实例

要显示前面示例范围之外的产品,请使用NOT BETWEEN:

实例

SELECT * FROM Products
WHERE Price NOT BETWEEN 10 AND 20;


带有 IN 的 BETWEEN 操作符实例

以下SQL语句选择价格在10到20之间但CategoryID不是1、2或3的所有产品:

实例

SELECT * FROM Products
WHERE (Price BETWEEN 10 AND 20)
AND NOT CategoryID IN (1,2,3);


带有文本值的 BETWEEN 操作符实例

以下SQL语句选择所有带有ProductName BETWEEN'Carnarvon Tigers'和'Mozzarella di Giovanni'的产品:

实例

SELECT * FROM Products
WHERE ProductName BETWEEN 'Carnarvon Tigers' AND 'Mozzarella di Giovanni'
ORDER BY ProductName;


带有文本值的 NOT BETWEEN 操作符实例

以下SQL语句选择ProductName不是BETWEEN'Carnarvon Tigers'和'Mozzarella di Giovanni'的所有产品:

实例

SELECT * FROM Products
WHERE ProductName NOT BETWEEN 'Carnarvon Tigers' AND 'Mozzarella di Giovanni'
ORDER BY ProductName;


示例表

下面是选自 "Orders" 表的数据:

OrderID CustomerID EmployeeID OrderDate ShipperID
10248 90 5 7/4/1996 3
10249 81 6 7/5/1996 1
10250 34 4 7/8/1996 2
10251 84 3 7/9/1996 1
10252 76 4 7/10/1996 2


带有日期值的 BETWEEN 操作符实例

以下 SQL 语句选取 OrderDate 介于 '04-July-1996' 和 '09-July-1996' 之间的所有订单:

实例

SELECT * FROM Orders
WHERE OrderDate BETWEEN #07/04/1996# AND #07/09/1996#;

SQL OR 运算符

WHERE子句可以与OR运算符结合使用。

OR运算符用于根据多个条件筛选记录:

  • 如果由OR分隔的任何条件为真,则OR运算符显示记录。
OR语法
SELECT column1, column2, ...
FROM table_name
WHERE condition1 OR condition2 OR condition3 ...;

OR 运算符实例

以下SQL语句选择城市为“Berlin”或“München”的“Customers”的所有字段:

实例

SELECT * FROM Customers
WHERE City='Berlin' OR City='München';

你可能感兴趣的:(SQL)