sql的问题

QQ截图20190103103855.png我想知道两个sql里面的OR b.c_id=NULL的位置不一样,原因这是为什么呢??

image.png

image.png

这是我练习的一个sql的网址(方便大家更方便的解决问题):

https://blog.csdn.net/fashion2014/article/details/78826299

liangk 发布于 2019-1-2 16:49 (编辑于 2019-1-3 11:14)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
axingLv6专家互助
发布于2019-1-3 18:07

or b.c_id=NULL 在这里是不成立的,因为是或关系所以不影响查询的结果

注释掉了结果也一样

blob.png

应该是作者写的有问题

blob.png

最佳回答
0
No1-格调Lv6初级互助
发布于2019-1-2 17:51(编辑于 2019-1-3 11:09)

不知道你想知道什么?这两张图片一样啊?

第一个图 A表 join B表

第二个图 A表 left  join  B表



至于你说的  or c.ID = null  这种写法 有些数据库就不支持  

最好写成  or C.ID is  null   或者 or C.ID is not null

  • liangk liangk(提问者) 所有的截图我都已经附上去了,有兴趣可以看一下
    2019-01-03 10:56 
  • liangk liangk(提问者) 我用的是mysql
    2019-01-03 11:11 
  • No1-格调 No1-格调 回复 liangk(提问者) 哦哦 最好是写成 \"zsh331\"大佬说的这种格式的,适用所有数据库。
    2019-01-03 11:15 
  • liangk liangk(提问者) 那个网站的地址我已经粘上去了,问题是前两个问题,我纠结的是where条件变了,or 后面的条件为什么也要跟着换呢
    2019-01-03 11:16 
最佳回答
0
zsh331Lv8专家互助
发布于2019-1-3 09:38

先不管你的SQL位置问题...OR b.c_id=NULL 这种表示方法就不对~


or b.c_id is null or b.c_id =''



  • liangk liangk(提问者) 这种表达是木有问题滴,等我粘sql你们看吧
    2019-01-03 10:07 
最佳回答
0
夜梦碎Lv3初级互助
发布于2019-1-3 09:48

or b.c_id is not null or b.c_id='NULL'

  • liangk liangk(提问者) 你这个不太对吧NULL是一个特殊的字符,用NULL本来就是希望能够判断出c_id这个里面的空值,加引号是针对数字或者特殊的字段信息
    2019-01-03 10:21 
  • 夜梦碎 夜梦碎 回复 liangk(提问者) 没问题,你的sql才有问题,你确定你的OR b.c_id=NULL能查询吗,如果是要判断出c_id里面的空值,就看前半个or,b.c_id is not null 去除c_id不为空的数据
    2019-01-03 10:25 
  • liangk liangk(提问者) 稍等,我再给你补充问题,带查询结果
    2019-01-03 10:31 
最佳回答
0
迎风布阵Lv4见习互助
发布于2019-1-3 11:01

你这两个sql一样的吧,就是where条件变了,从b.>c.变成b.<c.,原来的b相当于后面的c,原来的c相当于后面的b

  • liangk liangk(提问者) 我其中一个截图错了,当where b.>c 是 or c.c_id=null,反之 where b.
    2019-01-03 11:06 
  • 迎风布阵 迎风布阵 回复 liangk(提问者) 我看了下这个网站,从他想查询的结果来看,我觉得这两个=null的条件没有意义。
    2019-01-03 11:20 
  • liangk liangk(提问者) 回复 迎风布阵 你说的这个我试过了,去掉这个条件确实对于查询结果没有影响,但是人家考虑了一个条件进去就是,当c.c_id这里面没有对应的值的时候情况,因为不是每个学生都同时选择了这三门选修课,有的学生可能只是选择了其中的两门课程,加了这个条件让程序更加严谨了
    2019-01-03 11:28 
  • 3关注人数
  • 852浏览人数
  • 最后回答于:2019-1-3 18:07
    请选择关闭问题的原因
    确定 取消
    返回顶部