WHERE 与 SELECT 中的子查询

SQL 数据连接

Maham Faisal Khan

Senior Content Developer, DataCamp

WHERE 中子查询的语法

  • 我们看到的所有半连接与反连接都在 WHERE 中包含子查询
  • WHERE 是子查询最常见的位置

使用 WHERE IN 的语法

SELECT *
FROM some_table
WHERE some_numeric_field IN (4, 8, 12);
SQL 数据连接

WHERE 中子查询的语法

SELECT *
FROM some_table
WHERE some_field IN 
       (include subquery here);
SQL 数据连接

WHERE 中子查询的语法

SELECT *
FROM some_table
WHERE some_field IN 
    (SELECT some_numeric_field
     FROM another_table
     WHERE field2 = some_condition);
SQL 数据连接

SELECT 中的子查询

SELECT DISTINCT continent
FROM states;
|---------------|
| continent     |
|---------------|
| Africa        |
| Asia          |
| Europe        |
| North America |
| Oceania       |
|---------------|
SQL 数据连接

SELECT 中的子查询

SELECT DISTINCT continent,

(SELECT COUNT(*) FROM monarchs
WHERE states.continent = monarch.continent) AS monarch_count FROM states;
| continent     |   monarch_count |
|---------------|-----------------|
| Africa        |               0 |
| Asia          |               2 |
| Europe        |               2 |
| North America |               0 |
| Oceania       |               0 |
SQL 数据连接

Passons à la pratique !

SQL 数据连接

Preparing Video For Download...