Mysql 如果记录不存在,请选择null
我想从第三个表中选择一个值,其中第一个表中的值等于第三个表中的值。第三个表中的最后一个值可能不存在 我有以下mysql查询:Mysql 如果记录不存在,请选择null,mysql,Mysql,我想从第三个表中选择一个值,其中第一个表中的值等于第三个表中的值。第三个表中的最后一个值可能不存在 我有以下mysql查询: $query = "SELECT ft.value1, ft.value2, st.value3, st.value4, tt.valueWantedMightNotExist FROM first_table ft, second_table st, third_table tt WHERE ft.value5 = st.va
$query = "SELECT ft.value1, ft.value2, st.value3, st.value4, tt.valueWantedMightNotExist
FROM first_table ft, second_table st, third_table tt
WHERE ft.value5 = st.value5" AND ft.something = tt.anothersomething;
此查询仅在值存在时返回结果。否则它什么也不返回。我也试过了,但最后也搞砸了。有人能解释一下,如果记录不存在,我如何返回空值?非常感谢…您需要左键加入。这正是你想要的
默认情况下,也就是说,如果你只使用逗号,你会得到一个内部连接,只有当行的两边都匹配时,它才会给你行;但是左连接将在左侧提供所有内容,在没有匹配项的右侧提供空值
SELECT ft.value1, ft.value2, st.value3, st.value4, tt.valueWantedMightNotExist
FROM first_table ft
INNER JOIN second_table st ON ft.value5 = st.value5
LEFT JOIN third_table tt ON ft.something = tt.anothersomething
还有一个右连接,其目的是让精明的读者练习:
你应该看看。排名靠前的答案使用左外部联接,但至少在MySQL中,外部联接没有效果。第二高的答案有一幅漂亮的图画,这对直觉很有帮助。你需要一个左连接。这正是你想要的
默认情况下,也就是说,如果你只使用逗号,你会得到一个内部连接,只有当行的两边都匹配时,它才会给你行;但是左连接将在左侧提供所有内容,在没有匹配项的右侧提供空值
SELECT ft.value1, ft.value2, st.value3, st.value4, tt.valueWantedMightNotExist
FROM first_table ft
INNER JOIN second_table st ON ft.value5 = st.value5
LEFT JOIN third_table tt ON ft.something = tt.anothersomething
还有一个右连接,其目的是让精明的读者练习:
你应该看看。排名靠前的答案使用左外部联接,但至少在MySQL中,外部联接没有效果。第二高的答案有一幅很好的图片,这对直觉很有帮助。如果想要得到不匹配的行,需要使用左连接
SELECT ft.value1, ft.value2, st.value3, st.value4, tt.valueWantedMightNotExist
FROM first_table ft
INNER JOIN second_table st ON ft.value5 = st.value5
LEFT JOIN third_table tt ON ft.something = tt.anothersomething
如果要获取不匹配的行,则需要使用LEFT JOIN
SELECT ft.value1, ft.value2, st.value3, st.value4, tt.valueWantedMightNotExist
FROM first_table ft
INNER JOIN second_table st ON ft.value5 = st.value5
LEFT JOIN third_table tt ON ft.something = tt.anothersomething
那个引号是什么意思?这些表格是如何相互关联的?我认为您需要从PHP和MySQL的简单介绍开始。这个引号的作用是什么?这些表格是如何相互关联的?我认为您需要从简单介绍PHP和MySQL开始。是否必须更改整个查询语法?我不能保持它的相似性,然后在末尾添加左连接吗?不,不是。但是你应该学会写ANSI连接,忘记旧的隐式连接。我是BARMAR做的。TYVM MA mani是否必须更改查询的整个语法?我不能保持它的相似性,然后在末尾添加左连接吗?不,不是。但是你应该学会写ANSI连接,忘记旧的隐式连接。我是BARMAR做的。马文