因此,我对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,有人可以帮忙吗?
您可以使用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)
上面的查询返回未链接到产品的所有城市的名称。
| 归档时间: |
|
| 查看次数: |
723 次 |
| 最近记录: |