gpt4 book ai didi

mysql - SQL中如何使用查询关系

转载 作者:行者123 更新时间:2023-11-28 23:53:51 26 4
gpt4 key购买 nike

我的问题是:

我有一张“用户”表:

id_us | name
-------------
1 | bob
2 | ken
3 | jones

而且我还有一张放宠物“宠物”的 table

id_pet | pet
-------------
1 | dog
2 | cat
3 | fish

和一个存储用户和宠物关系的表“user_pets”

id | id_us  |  pet
-------------------
1 | 1 | 1 --------> (dog)
2 | 1 | 2 --------> (cat)
3 | 2 | 1 --------> (dog)
4 | 3 | 3 --------> (fish)
3 | 3 | 2 --------> (cat)

我一直在尝试创建一个查询,为我提供所有没有狗的用户,我的查询的问题是因为例如用户“Bob”有两只宠物,其中一只不是狗,即使他是狗主人,它也会在我的查询结果中返回。

查询:

SELECT 
usuario.name
FROM
usuario
JOIN
user_pets ON usuario.id_us = user_pets.id_us
WHERE
user_pets.pet != 1
GROUP BY
usuario.name

最佳答案

SELECT 
usuario.name
FROM
usuario
LEFT JOIN user_pets
ON usuario.id_us = user_pets.id_us
AND user_pets.pet = 1
WHERE user_pets.id is null

  SELECT 
usuario.name
FROM
usuario
WHERE NOT EXISTS (SELECT id_ud FROM user_pets WHERE user_pets.pet = 1 ANd USerpets.id_us = usuario.ID)

或者

  SELECT 
usuario.name
FROM
usuario
WHERE usuario.ID NOT IN (SELECT id_ud FROM user_pets WHERE user_pets.pet = 1

关于mysql - SQL中如何使用查询关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32128390/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com