过滤数据
1. Select Distinct子句
SELECT DISTINCT 子句检索指定列列表中的唯一不同值,换句话说,它从结果集中删除列中的重复值。
DISTINCT 子句将所有 NULL 值视为相同的值
SELECT DISTINCT
column_name1,
column_name2 , ...
FROM
table_name;
DISTINCT一个字段的示例
以下语句返回 customers 表中所有客户所在的所有城市:
SELECT
City
FROM
sales.customers
ORDER BY
city;
DISTINCT多列示例
以下语句查找所有客户的不同城市和州。
SELECT DISTINCT
city, state
FROM
sales.customers
DISTINCT带有null值示例
以下示例查找客户的不同(唯一)电话号码:
SELECT DISTINCT
phone FROM
sales.customers
ORDER BY
phone;
SQL Server WHERE子句
要从表中获取满足一行或多个条件的行,请使用 WHERE 子句,如下所示:
SELECT
select_list
FROM
table_name
WHERE
search_condition;
在 WHERE 子句中,指定搜索条件以过滤 FROM 子句返回的行。 WHERE 子句仅返回导致搜索条件计算为 TRUE 的行。搜索条件是逻辑表达式
或多个逻辑表达式的组合 通过使用简单的相等来查找行 以下语句检索类别为 id 为 1 的所有产品:
SELECT
product_id,
product_name,
category_id,
model_year,
list_price
FROM
production.products
WHERE
category_id = 1
ORDER BY
list_price DESC;
AND 查找满足两个条件的行
AND 是一个逻辑运算符,用于组合两个布尔表达式
以下示例返回满足两个条件的产品: category_id 为 1 , model_year 为 2018 。
它使用逻辑运算符 AND 来组合这两个条件。
SELECT
product_id,
product_name,
category_id,
model_year,
list_price
FROM
production.products
WHERE
category_id = 1 AND model_year = 2018
ORDER BY
list_price DESC;