如何使用 Sql 联接来包含另一个 table 中的特定列

How to use Sql join to include a specific column from another table

我有两个 table,作者和书。作者包含列(isbn、名称、城市、州)和书籍包含(isbn、标题、出版商、类别、价格、单位)

对于我的作业,我需要输出姓名、城市和州(来自作者 table)和标题(来自书 table),仅适用于埃克塞特、新罕布什尔州、帕洛阿尔托的作者,加利福尼亚州或德克萨斯州阿灵顿。

我无法在不弹出错误的情况下让连接部分工作

SELECT 
    NAME,
    city,
    state
FROM 
    author

left JOIN book
    USING (title);

WHERE
    (city = 'exeter'AND state = 'NH') OR
    (city = 'arlington'AND state = 'TX') OR 
    (city ='palo alto' AND state = 'CA');

只要您连接表共享的列,左外部连接就应该有效。

SELECT a.name
,a.city
,a.state
,b.title
FROM author a
LEFT OUTER JOIN book b on a.isbn = b.isbn
WHERE

你的 DBMS 是什么?

你需要一个字段来关联这两个表,我想它是唯一共同的 ISBN ......(尽管他们已经问过你为什么 ISBN 在作者中?)......

SELECT a.NAME, b.title,a.city,a.state 
FROM author a 
LEFT JOIN book b 
    ON a.isbn = b.isbn 
WHERE (a.city = 'exeter'AND a.state = 'NH') 
    OR (a.city = 'arlington'AND a.state = 'TX')
    OR (a.city ='palo alto' AND a.state = 'CA')