我已经尝试解决这个问题一段时间了,希望有人能帮助我。我有两个桌子,第一个桌子是
表名:OnlineTest
OnlineTestId category subcategory
1 English Spelling
2 English Grammar
3 English Antonyms
4 English Synonyms
第二张表是
表名称:UserStatus
Id userId status onlineTestId
1 1 Finished 1
2 1 Not Finished 2
3 2 Not Finished 1
4 2 Finished 3
5 3 Not Finished 4
结果
OnlineTestId userId status
1 1 Finished
2 1 Not Finished
3 null null
4 null null
我已经试过这个查询,
select c.onlinetestid, d.userid, d.status from onlinetest c left join userstatus d on d.onlinetestid = c.onlinetestid
where c.category = 'English' and d.userid = 1;
但是此查询将带出结果的前两行,而不是最后两行,其中userId和status为null。
如何带来以上结果?
将d.userid = 1
谓词放在ON
子句中:
select c.onlinetestid, d.userid, d.status
from onlinetest c
left join userstatus d on d.onlinetestid = c.onlinetestid and d.userid = 1
where c.category = 'English'
这将返回的所有行onlinetest
,其中谓词失败的列userstatus
填充为。null``d.userid = 1
我正在使用Ingres 11.0 DB,不确定它是否在其他数据库引擎上具有相同的行为,但这里是它 它不会返回表1中的所有记录,但我使用的是左连接,它应该从T1返回aa记录,从t2只处理行,只返回1条记录 如果我将其中一个条件从where子句移动到join条件,它的开始将返回我所期望的结果 问题是为什么它不工作在哪里所有搜索条件在哪里子句,但工作时,我移动t2.id_number从哪里加入条件? 我
本文向大家介绍MySQL表LEFT JOIN左连接与RIGHT JOIN右连接的实例教程,包括了MySQL表LEFT JOIN左连接与RIGHT JOIN右连接的实例教程的使用技巧和注意事项,需要的朋友参考一下 LEFT JOIN 语法用法与实例 MySQL LEFT JOIN 语法 SQL(MySQL) LEFT JOIN 会取得左表(table1)全部记录,即使右表(table2)并无对应匹配
问题内容: 假设我们有下表t1和t2: 我们希望找到以下结果: 这基本上是右连接与左连接的并集。以下代码有效,但感觉很笨拙: 有没有更好的方法来实现这一目标? 问题答案:
内连接,显示两个表中有联系的所有数据; 左链接,以左表为参照,显示所有数据,右表中没有则以null显示 右链接,以右表为参照显示数据,,左表中没有则以null显示
本文向大家介绍MySQL 的内连接、左连接、右连接有什么区别?相关面试题,主要包含被问及MySQL 的内连接、左连接、右连接有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 内连接关键字:inner join;左连接:left join;右连接:right join。 内连接是把匹配的关联数据显示出来;左连接是左边的表全部显示出来,右边的表显示出符合条件的数据;右连接正好相反。
本文向大家介绍mysql的左右内连接用法实例,包括了mysql的左右内连接用法实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了mysql的左右内连接用法。分享给大家供大家参考。具体如下: 用个例子来解析下mysql的左连接, 右连接和内连接 一. 左连接: user_id居左,故谓之左连接。 这种情况下,以user_id为主,即user_id中的所有记录均会被列出。分以下三种情况: 1