求一个sql语句:在线等!!
求一个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)
能不能查出来?
------解决方案--------------------
既然是主外键的关系,那主表里面没有的whjs_sortid值,n_news表里保存的有这样是不合理的,也是没有意义的。
你要查的条件是可以查出来的,可以用完全连接来写。
sql:select n.*,s.* from n_news n full join whjs_sort s on n.whjs_sortid=s.whjs_sortid
------解决方案--------------------n_news 表中whjs_sortid 没有外键引用是不是默认就是0啊
你是想根据外键关联关系查询吗,并且whjs_sortid=0的也查上了是吗,
如果是这样那我觉得可以直接用左外连接不就可以查出来了吗 左是n_news 表
------解决方案--------------------sql:
select * from n_new as n
inner join whjs_sort as j on whjs_sortname=null
where n.whjs_sortid=j.whjs_sortid
应该是这样吧。。。本人菜鸟级别。。。
------解决方案--------------------SQL code
select * from n_news,whjs_sort