选择* SQL中的关联为空的地方?

Bal*_*áni 2 mysql

因此,我对SQL尤其是在使用正确的语法方面有些迷失。

快点:这是我的桌子

我们有产品:

+------------------------+------------------+------+-----+---------------------+----------------+
| Field                  | Type             | Null | Key | Default             | Extra          |
+------------------------+------------------+------+-----+---------------------+----------------+
| id                     | int(10) unsigned | NO   | PRI | NULL                | auto_increment |
| slug                   | varchar(255)     | NO   |     | NULL                |                |
| title                  | varchar(255)     | NO   |     | NULL                |                |
| resume                 | varchar(255)     | NO   |     | NULL                |                |
| country_id             | varchar(255)     | NO   |     | NULL                |                |
| city_id                | varchar(255)     | NO   |     | NULL                |                |
+------------------------+------------------+------+-----+---------------------+----------------+
Run Code Online (Sandbox Code Playgroud)

我们有城市:

+------------------+------------------+------+-----+---------------------+----------------+
| Field            | Type             | Null | Key | Default             | Extra          |
+------------------+------------------+------+-----+---------------------+----------------+
| id               | int(10) unsigned | NO   | PRI | NULL                | auto_increment |
| country_id       | int(11)          | NO   |     | NULL                |                |
| name             | varchar(255)     | NO   |     | NULL                |                |
+------------------+------------------+------+-----+---------------------+----------------+
Run Code Online (Sandbox Code Playgroud)

我要查找的是哪些城市没有产品

所以基本上我尝试过这样的事情:

从城市的WHERE COUNT中选择名称(从城市的INNER JOIN产品中选择*。

我认为我对工作方式有误解COUNT,有人可以帮忙吗?

Gio*_*sos 5

您可以使用NOT EXISTS

SELECT name 
FROM cities AS c
WHERE NOT EXISTS (SELECT 1
                  FROM products AS p
                  WHERE p.city_id = c.id)
Run Code Online (Sandbox Code Playgroud)

上面的查询返回未链接到产品的所有城市的名称。