我正在努力获取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 |
+---------+-------+