三个表上的一个SQL查询

时间:2016-12-05 12:53:45

标签: oracle-sqldeveloper

我想查询三个表。现在我已经成功加入了两张桌子。我正在做我的第一个数据库,但是现在我真的被困了。这是我的表格

驱动程序

|DRIVER_ID|FIRST_NAME|LAST_NAME|AGE|
|        1|John      |Smith    |19 |
|        2|Steve     |Oak      |33 |
|        3|Mary      |Sanchez  |22 |

Drivers_in_Teams

|DRIVERS_IN_TEAMS_ID|DRIVER_ID|TEAM_ID|BEG_DATE |END_DATE |CAR        |
|                  1|        1|      1|18-NOV-05|         |Toyota     |
|                  2|        3|      2|10-APR-12|         |Ford       |
|                  3|        2|      3|19-JUL-01|02-AUG-04|Volkswagen |

团队

|TEAM_ID  |NAME      |COUNTRY |
|        1|Turbo     |Sweden  |
|        2|Rally     |UK      |
|        3|Baguette  |France  |

BEG_DATE使用" sysdate-number"

完成

我的目标是找一个司机,他驾驶福特并且仍然有合同(END_DATE未设定)

我想对三个表进行查询,因此结果应该显示一个驱动程序FIRST NAME,LAST NAME和一个团队的国家

我尝试了一些我从StackOverFlow中找到并编辑过的例子,但是我在第三个TEAMS表中添加了查询。

这是我使用的那个

SELECT FIRST_NAME, LAST_NAME
FROM DRIVERS
JOIN DRIVERS_IN_TEAMS ON DRIVERS.DRIVER_ID = DRIVERS_IN_TEAMS.DRIVER_ID
WHERE DRIVERS_IN_TEAMS.CAR = 'Ford' AND DRIVERS_IN_TEAMS.END_DATE IS NOT NULL

0 个答案:

没有答案