多表SubQuery

时间:2016-11-01 13:36:10

标签: sql sql-server

我正在努力获取1994年在加利福尼亚销售并在加利福尼亚州出版的书籍的所有信息。我通过在四个不同的桌子上做多次加入声明来完成这一任务。

SELECT t.* FROM titles t 
INNER JOIN sales s on t.title_id = s.title_id
INNER JOIN publishers p on t.pub_id = p.pub_id 
INNER JOIN stores on s.stor_id = stores.stor_id
WHERE stores.state = 'CA' AND p.state = 'CA' AND YEAR(t.pubdate) = 1994

但是知道我想显示相同的信息,除非使用子查询,似乎无法弄明白。也是上面接受的方式还是使用子查询更好?哪种更容易接受,更有效,更清洁的方式呢?

标题表列

+----------+--------+--+------+
| title_ID | pub_id | pub_date| 
+----------+--------+--+------+

销售表列

+---------+----------+
| stor_id | title_id |
+---------+----------+

publishers表列

+--------+-------+
| pub_id | state |
+--------+-------+

存储表列

+---------+-------+
| stor_id | state |
+---------+-------+

0 个答案:

没有答案