Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 使用左关节时,如何检查列是否没有任何值?_Sql_Mysql_Select_Join_Left Join - Fatal编程技术网

Sql 使用左关节时,如何检查列是否没有任何值?

Sql 使用左关节时,如何检查列是否没有任何值?,sql,mysql,select,join,left-join,Sql,Mysql,Select,Join,Left Join,我有两张桌子: 系列: | Position | Age | | Dad | 41 | | Mom | 45 | | Daughter | 17 | | Dog | | 食品: | Meal | Position | | Steak | Dad | | Salad | Mom | | Spinach Soup | | | Tacos | Dad

我有两张桌子:

系列

| Position | Age |
| Dad      | 41  |
| Mom      | 45  |
| Daughter | 17  |
| Dog      |     |
食品:

| Meal         | Position |
| Steak        | Dad      |
| Salad        | Mom      |
| Spinach Soup |          | 
| Tacos        | Dad      |
我执行以下查询:

 `SELECT family.Position, food.Meal ".
 "FROM family LEFT JOIN food ".
    "ON family.Position = food.Position`.
我得到以下结果:

Dad      - Steak
Dad      - Tacos
Mom      - Salad
Daughter -
Dog      -

现在,我只想要那些不包含任何食物值的行(即最后两行中有女儿和狗)。我怎样才能得到这些行?我可以在食物为空的地方使用
膳食栏是否必须具有某些属性才能进行此查询?

您就快到了

现在需要做的就是明确地说明等式的右边应该是空的

SQL语句

SELECT   family.Position
         , food.Meal 
FROM     family LEFT JOIN 
         food ON family.Position = food.Position
WHERE    food.Meal IS NULL

如果没有匹配的行,则 中的右表打开或使用中的零件 左连接,包含所有列的行 设置为NULL用于右侧 桌子你可以利用这个事实来发现 表中没有 另一个表中的对应项:


你就快到了

现在需要做的就是明确地说明等式的右边应该是空的

SQL语句

SELECT   family.Position
         , food.Meal 
FROM     family LEFT JOIN 
         food ON family.Position = food.Position
WHERE    food.Meal IS NULL

如果没有匹配的行,则 中的右表打开或使用中的零件 左连接,包含所有列的行 设置为NULL用于右侧 桌子你可以利用这个事实来发现 表中没有 另一个表中的对应项:


有不止一种解决方案

其中之一就是调整你的位置条件,比如

SELECT family.Position, food.Meal 
FROM family 
LEFT JOIN food ON family.Position = food.Position
WHERE food.Meal IS NULL;

有不止一种解决方案

其中之一就是调整你的位置条件,比如

SELECT family.Position, food.Meal 
FROM family 
LEFT JOIN food ON family.Position = food.Position
WHERE food.Meal IS NULL;

我不知道如何使用mysql,但使用sql server

SELECT family.Position, food.Meal ". "FROM family LEFT JOIN food ". "ON family.Position != food.Position.

我不知道如何使用mysql,但使用sql server

SELECT family.Position, food.Meal ". "FROM family LEFT JOIN food ". "ON family.Position != food.Position.
使用“where-fine is null”即使“fine”为“not-null”也有效。

使用“where-fine is null”即使“fine”为“not-null”也有效