求一个sql语句:在线等!!

告白气球 2012-08-02 11:39:46
求一个sql语句:主外键
n_news 表:n_id int , whjs_sortid int ;
whjs_sort 表: whjs_sortid int ,whjs_sortname nvarchar(200);

如果n_news里的whjs_sortid是0,而whjs_sort里的whjs_sortid 没有0的数据,
我想查出的效果是:n_news 表的所有(包括whjs_sortid=0),whjs_sort 表的所有(包括whjs_sortname=null)
能不能查出来?
...全文
129 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
BUG胡汉三 2012-08-02
  • 打赏
  • 举报
回复

select * from n_news,whjs_sort

这样不就查询出全部的数据了吗???
Abin0406 2012-08-02
  • 打赏
  • 举报
回复
sql:
select * from n_new as n
inner join whjs_sort as j on whjs_sortname=null
where n.whjs_sortid=j.whjs_sortid
应该是这样吧。。。本人菜鸟级别。。。
吉他猪 2012-08-02
  • 打赏
  • 举报
回复
n_news 表中whjs_sortid 没有外键引用是不是默认就是0啊

你是想根据外键关联关系查询吗,并且whjs_sortid=0的也查上了是吗,
如果是这样那我觉得可以直接用左外连接不就可以查出来了吗 左是n_news 表
woshizeiwopashei 2012-08-02
  • 打赏
  • 举报
回复
select n.*,s.* from n_news n full join whjs_sort s on n.whjs_sortid=s.whjs_sortid
小小小小精灵 2012-08-02
  • 打赏
  • 举报
回复
既然是主外键的关系,那主表里面没有的whjs_sortid值,n_news表里保存的有这样是不合理的,也是没有意义的。
你要查的条件是可以查出来的,可以用完全连接来写。
sql:select n.*,s.* from n_news n full join whjs_sort s on n.whjs_sortid=s.whjs_sortid
gukuitian 2012-08-02
  • 打赏
  • 举报
回复
oracle
select * from a full join b on a.key=b.forKey

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧