遵循教科书“SQL in a Nutshell”它要求查询
对于拥有电子邮件地址的员工,请显示他们的年龄和性别。
在以下数据库上:
CREATE TABLE EMPLOYEES(
PID SMALLINT NOT NULL,
PRIMARY KEY(PID),
CONSTRAINT EMPLOYEES_FK FOREIGN KEY (PID) REFERENCES PERSONS (PID)
);
CREATE TABLE PERSONS(
PID SMALLINT NOT NULL,
NAME VARCHAR(20) NOT NULL,
GENDER CHAR(1) NOT NULL CHECK (GENDER IN ('M','F')),
AGE SMALLINT NOT NULL CHECK (AGE BETWEEN 0 AND 120),
BIRTHDATE DATE NOT NULL,
PRIMARY KEY(PID)
);
CREATE TABLE HASE(
PID SMALLINT NOT NULL,
EADDR VARCHAR(30) NOT NULL,
PRIMARY KEY(PID,EADDR),
CONSTRAINT HASE_FK FOREIGN KEY (PID) REFERENCES PERSONS (PID)
);
我对 SQL 查询很陌生,所以我的尝试是:
SELECT GENDER, AGE
FROM PERSONS AND EMPLOYEES
WHERE EXISTS HASE.EADDR
;
但我不认为我与外键的关系正确。我意识到这是非常基本的,但我认为一旦我看到查询的方式,它将帮助我处理其他问题。