MySql 查询 : Left Join

标签 mysql sql

我是新的 Sql 查询。我想从两个表的差异中创建一个表。
这是我的查询:

SELECT * FROM `question` WHERE `relatedFields` = 'Math' LEFT JOIN  `answer` ON `question`.ques = `answer`.ques where `answer`.TeacherNumber=1111111111

请帮忙。

最佳答案

将第一个 WHERE 子句移动到末尾,并将另一个 where 条件移动到 ON 以获得 true LEFT JOIN:

SELECT *
FROM `question`
  LEFT JOIN  `answer` ON `question`.ques = `answer`.ques
     and `answer`.TeacherNumber=1111111111
where `question`.relatedFields = 'Math'

替代语法:

SELECT *
FROM
    (select * from `question` WHERE `relatedFields` = 'Math') as q
LEFT JOIN
    (select * from `answer` where TeacherNumber = 1111111111) as a
  ON q.ques = a.ques

关于MySql 查询 : Left Join,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32564140/

相关文章:

sql - Hive 脚本,具有 SUM 的 DISTINCT

SQL:MakeValid() 不适用于 SqlGeography 类型

php - 如何在 HTML 水平表中显示 mysql 查询输出

mysql - 通过 1 个查询获取 2 个相关组?

Python:登录无错误

sql - 我怎样才能快速删除 postgres 中的行?

php - MySql Php 更新不起作用?

MySQL FORMAT_DATE %d 返回 '0'

Mysql - 获取没有先前状态的行

mysql - 有没有一种查询方法可以选择一个包含多个项目的表,其中包含要显示的列,但只有一列可以显示表中的所有项目