【发布时间】:2012-12-11 02:10:35
【问题描述】:
我现在正在处理 SQL,我有这些表:
CREATE TABLE Gym (
eid INT PRIMARY KEY,
name VARCHAR(127) UNIQUE,
district VARCHAR(127),
area INT);
CREATE TABLE Trainer (
id INT PRIMARY KEY,
name VARCHAR(127),
birth_year INT,
year_credentials_expiry INT
);
CREATE TABLE Works (
eid INT,
id INT,
since INT,
FOREIGN KEY (eid) REFERENCES Gym (eid),
FOREIGN KEY (id) REFERENCES Trainer (id),
PRIMARY KEY (eid,id));
我想构建一个查询,它可以告诉我带有“Casanova”区的健身房的名称,至少那里有一名教练在工作。
我一直在考虑使用 EXISTS 运算符,但必须有更简单的方法。 有人可以帮我吗?
【问题讨论】:
-
由于您要的是提示而不是答案,因此提示是使用
inner join。将table 1内部连接到table 2将导致仅返回table 2具有与table 1相关的记录的记录。