首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

怎么建立mysql表之间的关系

2013-12-15 
如何建立mysql表之间的关系?已知:S (SNO,SNAME) 学生关系。SNO 为学号,SNAME 为姓名C (CNO,CNAME,CTEACHER)

如何建立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='李兴华'
);

查询没有学李兴华老师授课的所有学生,为什么结果是 Empyt set(0.00 sec)
是不是我建立表关系有错?求大神指教!!!感激不尽!!! mysql
[解决办法]

--MSSQL
SELECT SNAME FROM S
JOIN SC ON SC.SNO=S.SNO
JOIN C ON SC.CNO=C.CNO
WHERE C.CTEACHER='李兴华'

[解决办法]
错误是什么呢? 还是说mysql不支持语法。。建议去MYSQL版问问。最近好多MYSQL都跑到SQL SERVRE版了,好奇怪。
[解决办法]
引用:
方便留个联系方式么?我初学sql


你写的语句是对的呀,没有错,你能把你表里面的数据贴出来看看呢。

热点排行