需要一个SQL语句,它可以从另一个表中有两列的一个表生成结果

时间:2013-05-02 20:38:45

标签: sql

这是我的问题。

我有两个表,表A名为= Authors,表B名为= Books。

在表A中,我有一个名为= au_id的主键,该表仅包含作者的姓名和国家。

表B,包含book_id,published_date,genres和au_id的列(我将相同的数字放在表A的au_id中。

实施例,

Authors

[au_id (Primary Key)],[au_fname],[au_lname],[City],[Country]
1, Robert, Jordan, Carolina, USA

Books

[book_id(Primary Key)],[book_title],[genres],[publisher],[release_date],[au_id]
1, The Eye of the Storm, Fantasy, Tor Books, January 2004, 1

如何创建可以抓取特定作者的所有书籍的查询?

我试着谷歌这个问题,但似乎无法搞清楚。

2 个答案:

答案 0 :(得分:5)

您需要au_id列上的join表:

select a.au_fname,
  a.au_lname,
  b.book_title
from books b
inner join authors a
  on b.au_id = a.au_id
where a.au_lname = 'lastname'

答案 1 :(得分:0)

这是为您的问题编写SQL查询的另一种方法。

select a.au_fname,
a.au_lname,
b.book_title
from books b,authors a
where b.au_id = a.au_id and a.au_lname = 'lastname'

有关SQL连接的更多详细信息,请参阅joins here