在SQL Server(Transact-SQL)的AND 条件(也称为AND运算符)是用于测试在SELECT,INSERT,UPDATE,或DELETE语句中的两个或多个条件。
语法
在SQL Server(Transact-SQL中)AND条件的语法如下:
WHERE condition1 AND condition2 ... AND condition_n;
参数及说明
condition1, condition2, ... condition_n
所有必须满足选择记录的条件
注意
- SQL Server AND条件允许您测试2个或更多的条件;
- SQL Server AND条件要求的所有条件(如:condition1, condition2, condition_n)必须满足时才会将记录包含在结果集中返回;
示例 - SELECT语句中使用
第一个SQL Server AND条件查询SELECT语句涉及2个条件。
例如:
SELECT *
FROM employees
WHERE last_name = 'Smith'
AND employee_id < 499;
在这个 SQL Server AND示例将返回 last_name 是 “Smith” 并且 employee_id 小于 499 的员工记录,因为在SELECT语句中使用 “*” 符号,从 employees 表中返回结果集中的所有员工信息将会列出所有字段。
示例 - 在连接表中使用
我们的下一个SQL Server AND示例是显示 AND条件怎么在SELECT语句中连接多个表。
例如:
SELECT employees.employee_id, contacts.last_name
FROM employees, contacts
WHERE employees.employee_id = contacts.contact_id
AND employees.first_name = 'Sarah';
虽然上面的SQL没有什么问题,也可以使用传统 SQL INNER JOIN 写法应用如下。
例如:
SELECT employees.employee_id, contacts.last_name
FROM employees
INNER JOIN contacts
ON employees.employee_id = contacts.contact_id
WHERE employees.first_name = 'Sarah';
这个SQL Server AND条件示例中,将返回所有 employees 表中的 first_name 为 “Sarah”。而 employees 和 contacts 表的连接是从 employees 表中的 employee_id 字段,以及 contacts 表中的contact_id 字段来作连接。在这里您会发现所有的字段都使用表名前缀(如:contacts.last_name)。这是需要消除被引用字段的歧义; 因为在 employees 和 contacts 表中有同时存在两个字段名称相同。
在这种情况下,结果集将仅显示 employee_id 和 last_name 字段(如在SELECT语句的第一部分中列出的)。
示例 - 在INSERT语句中使用
接下来我们看一个 SQL Server AND 示例,演示如何在INSERT语句中使用AND条件。
例如:
INSERT INTO contacts
(contact_id, last_name, first_name)
SELECT employee_id, last_name, first_name
FROM employees
WHERE first_name = 'Joanne'
AND employee_id >= 800;
这个 SQL Server AND 条件例子就是将数据插入到 contacts 表中,所有 employee_id, last_name, 和 first_name 这些记录是从 employees 表按条件查询提取出来,其中 first_name 为 "Joanne" 和 EMPLOYEE_ID 大于或等于800。
示例 - 在UPDATE语句中使用
这个 SQL Server AND 条件示例演示在UPDATE语句中如何使用AND条件。
例如:
UPDATE employees
SET last_name = 'Johnson'
WHERE last_name = 'TBD'
AND employee_id < 300;
这个 SQL Server AND 条件示例将更新 employees 表中那些 last_name 的值是 'TBD' 并且 employee_id 小于 300 的记录,将这些记录的 last_name 值更新为 'Johnson' 。
示例 - 在DELETE语句中使用
最后,这个 SQL Server AND 示例将演示在DELETE语句中如何使用AND条件。
例如:
DELETE FROM employees
WHERE first_name = 'Darlene'
AND last_name = 'Henderson';
这个SQL Server AND 条件的例子就是从 employees 表,删除所有 first_name 是 'Darlene' 和 last_name 是 'Henderson' 的记录。