SQL自然加入

时间:2016-10-05 10:09:45

标签: postgresql

好。所以我老师问的问题是:

  
      
  1. (5分)在dvdrental数据库上构造一个SQL查询,该数据库使用两个或多个表的自然连接以及另外的where条件。 (例如,查找特定客户租用的电影的标题。)如果您的查询没有返回任何内容,请注意课程新闻页面上的提示。
  2.   

以下是我正在使用的数据库的布局: http://www.postgresqltutorial.com/wp-content/uploads/2013/05/PostgreSQL-Sample-Database.png

对我们的暗示是:

  

PostgreSQL提示:   如果自然连接在dvdrental数据库中没有产生任何结果,那是因为许多表具有最后一次更新:timestamp字段,因此自然连接尝试连接该字段以及目标字段。

     

e.g。

select * 
from film natural join inventory;
     

由于这个原因不起作用 - 它产生一个空表(没有结果)   相反,使用

select * 
from film, inventory
where film.film_id = inventory.film_id;

这就是我所做的:

select * 
from film, customer
where film.film_id = customer.customer_id;

问题是我无法得到特定的客户 我尝试了customer_id = 2;,但它返回了一个错误 真的需要帮助!

1 个答案:

答案 0 :(得分:0)

好吧,您似乎想加入两张彼此没有直接关系的表,这是您的问题:

where film.film_id = customer.customer_id

要查找哪些客户租用哪些电影,您需要加租客户表,然后是库存,最后是电影。

任务描述说明

  

在dvdrental数据库上构建一个SQL查询,该数据库使用两个或多个表的自然连接和另一个where condition.quote