sql数据库问题。大家帮帮我吧

来源:百度知道 编辑:UC知道 时间:2024/05/18 02:13:47
sql数据库问题。有a,b,c 3个表。a表有nameId,bookId,有2个外键约束。b表有nameId,name。c表有bookId,bookName。sql语句要怎么写才能查询a表,显示出来的是name和bookName而不是nameId,bookId。

select b.name,cbookname from a,b,c where
a.nameid=b.nameid and a.bookid=c.bookid;
满足你的需求吗?
看你的问题似乎不是这样简单的句子 请你能描述得更详细点吗?

上面的各有各的道理 但是这样楼主就不好选择了
我给你做个总结:
1、2楼3楼的做外连接是不错,但是看楼主说的要求:显示出来的是name和bookName而不是nameId,bookId。你左外连接了有用吗?照样显示不出来名字,如果a表数据多而b,c表中对应的字段少于a 而且只要求显示name和bookname那么做外连接根本用不到
2、正确答案就是一楼的,但是他自己都不确定呢,哎!
select b.name,c.bookname
from a,b,c
where a.nameid=b.nameid
and a.bookid=c.bookid;

select b.name,cbookname from a
left join b on a.nameid=b.nameid
left join c on a.nameid=c.bookid

注意,这个地方最好是用左连接left,否则当b或c缺少一个的时候,查询会漏掉该条记录

SELECT B.NAME,C.BOOKNAME FROM A LEFT JOIN B ON A.NAMELD = B.NAMELD LEFT JOIN C ON A.BOOKLD =C.BOOKLD

左连接唉

把表 的创建语句贴出来