如何建立mysql表之间的关系?
已知:
S (SNO,SNAME) 学生关系。SNO 为学号,SNAME 为姓名
C (CNO,CNAME,CTEACHER) 课程关系。CNO 为课程号,CNAME 为课程名,CTEACHER 为任课教师
SC(SNO,CNO,SCGRADE) 选课关系。SCGRADE 为成绩
我现在建立了三个表:
CREATE TABLE S(
SNOVARCHAR(10)PRIMARY KEY,
SNAMEVARCHAR(20)NOT NULL
);
CREATE TABLE C(
CNOVARCHAR(10)PRIMARY KEY,
CNAMEVARCHAR(10)NOT NULL,
CTEACHERVARCHAR(5)NOT NULL
);
CREATE TABLE SC(
SNOVARCHAR(10)NOT NULL,
CNOVARCHAR(10)NOT NULL,
SCGRADEVARCHAR(3)NOT NULL
);
SELECT SNAME FROM S WHERE NOT EXISTS(
SELECT * FROM C,SC WHERE C.CNO=SC.CNO AND S.SNO=SC.SNO
AND C.CTEACHER='李兴华'
);
--MSSQL
SELECT SNAME FROM S
JOIN SC ON SC.SNO=S.SNO
JOIN C ON SC.CNO=C.CNO
WHERE C.CTEACHER='李兴华'