有3张表authors,titles,titleauthor
结构如下:
authors(表)
au_id,au_nametitles(表)
tit_id,titletitleauthor(表)au_id,tit_id现在要查出显示作者姓名和图书标题的一个结果怎么写查询语句?
另外查询结果中不能有重复记录.我用inner join 老有重复记录,因为有的作者没图书,有的图书没作者.
1、显示所有作者对应的图书
2、显示所有图书对应的作者
3、显示所有图书和作者的对应关系,没有对应的显示NULL

解决方案 »

  1.   

    1、显示所有作者对应的图书
    select a.au_name,t.title
    from authors a left join titleauthor ta on a.au_id=ta.au_id
    left join titles t on ta.tit_id=t.tit_id2、显示所有图书对应的作者
    select t.title,a.au_name
    from titles t left join titleauthor ta on ta.tit_id=t.tit_id
    left join authors a on a.au_id=ta.au_id3、显示所有图书和作者的对应关系,没有对应的显示NULL
    select t.title,a.au_name
    from titles t full join titleauthor ta on ta.tit_id=t.tit_id
    full join authors a on a.au_id=ta.au_id