CREATE TABLE `student` (
`sid` varchar(5) NOT NULL DEFAULT '',
`sname` varchar(10) NOT NULL,
`age` date DEFAULT NULL,
`sex` varchar(2) DEFAULT NULL,
PRIMARY KEY (`sid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE `teacher` (
`tid` varchar(5) NOT NULL DEFAULT '',
`tname` varchar(10) NOT NULL,
PRIMARY KEY (`tid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE `course` (
`cid` varchar(5) NOT NULL DEFAULT '',
`cname` varchar(10) NOT NULL,
`tid` varchar(5) DEFAULT NULL,
PRIMARY KEY (`cid`),
KEY `fk_tid` (`tid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE `sc` (
`sid` varchar(5) NOT NULL DEFAULT '',
`cid` varchar(5) NOT NULL DEFAULT '',
`score` float DEFAULT NULL,
PRIMARY KEY (`sid`,`cid`),
KEY `fk_cid` (`cid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO student VALUES ('01' , 'student A' , '1990-01-01', 'M');
INSERT INTO student VALUES ('02' , 'student B' , '1990-12-21', 'M');
INSERT INTO student VALUES ('03' , 'student C' , '1990-05-20', 'M');
INSERT INTO student VALUES ('04' , 'student D' , '1990-08-06', 'M');
INSERT INTO student VALUES ('05' , 'student E' , '1991-12-01', 'FM');
INSERT INTO student VALUES ('06' , 'student F' , '1992-03-01', 'FM');
INSERT INTO student VALUES ('07' , 'student G' , '1989-07-01', 'FM');
INSERT INTO student VALUES ('08' , 'student H' , '1990-01-20', 'FM');
INSERT INTO teacher VALUES ('01' , 'teacher A');
INSERT INTO teacher VALUES ('02' , 'teacher B');
INSERT INTO teacher VALUES ('03' , 'teacher C');
INSERT INTO course VALUES ('01' , 'JAVA' , '01');
INSERT INTO course VALUES ('02' , 'Python' , '02');
INSERT INTO course VALUES ('03' , 'Mysql' , '03');
INSERT INTO course VALUES ('04' , 'PHP' , '01');
INSERT INTO sc VALUES ('01' , '01' , 80);
INSERT INTO sc VALUES ('01' , '02' , 90);
INSERT INTO sc VALUES ('01' , '03' , 99);
INSERT INTO sc VALUES ('01' , '04' , 88);
INSERT INTO sc VALUES ('02' , '01' , 70);
INSERT INTO sc VALUES ('02' , '02' , 60);
INSERT INTO sc VALUES ('02' , '03' , 80);
INSERT INTO sc VALUES ('03' , '01' , 80);
INSERT INTO sc VALUES ('03' , '02' , 80);
INSERT INTO sc VALUES ('03' , '03' , 80);
INSERT INTO sc VALUES ('04' , '01' , 50);
INSERT INTO sc VALUES ('04' , '02' , 30);
INSERT INTO sc VALUES ('04' , '03' , 20);
INSERT INTO sc VALUES ('05' , '01' , 76);
INSERT INTO sc VALUES ('05' , '02' , 87);
INSERT INTO sc VALUES ('06' , '01' , 31);
INSERT INTO sc VALUES ('06' , '03' , 34);
INSERT INTO sc VALUES ('07' , '02' , 89);
INSERT INTO sc VALUES ('07' , '03' , 98);
select * from enter code here
student where sid in (
select sid from sc
where cid in (select cid from sc where sid = '02')
group by sid
having count(*) = (select count(*) from sc where sid = '02')
)
Öğrenci tablosu, ders tablosu ve sc tablosuyla (seçmeli dersler) birlikte mysql veritabanı oluşturuyorum, sid = "02" öğrencilerine aynı dersi öğrenen öğrenciler sid; ancak yukarıdaki sql doğru değil , "Neden? Nasıl düzeltilir??"sid = "02" öğrencilerinin aynı dersi öğrenen öğrenciler sid;
Soruyu yeniden denemeyi denediniz mi, sorgunuzun ne yapmasını istediğinizi biraz açık değil – Jester