如何在oracle中编写select以使用其他表列中的任何值过滤一个表中的值。
要清楚,我有两张桌子。例如汽车和颜色。
在Car表中我有两列,car_model和car_color,在Colors表中我有col_code和col_color列。
我需要选择所有car_model,其中car_color =颜色表中col_color列的任何颜色。
像伪的东西:
Select car_model From car Where car_color = color.col_color
答案 0 :(得分:3)
我认为您不需要任何联接,这是编写查询的不直观方式。
select car_model
from car
where car_color in (select col_color from color)
答案 1 :(得分:1)
您可以像这样使用join
(异常,外部联接):
select car.car_model, color.col_color from car left join color on car.car_color = color.col_code
或者,如果你更喜欢它,
select car.car_model, color.col_color from car, color where car.car_color = color.col_code
实际上是内连接表。您可以在Wikipedia中找到有关不同类型联接的信息。