목록 :SQL SELECT 문
가 내가이 쿼리에 문제가 있어요가, 내가 무엇을 찾고 있어요 것은 예를 들어 select 문입니다
select count(studID) from student where ModCode = 'C102'
의도 한 출력은 모듈 이름과이 모듈과 관련된 학생 수를 나타냅니다. 가능한 한 모든 모듈을 한 번에 출력에 포함하고자합니다.
구조 :
CREATE TABLE Student
(StudID INTEGER PRIMARY KEY,
StudFName VARCHAR(10) NOT NULL,
StudLName VARCHAR(10) NOT NULL,
DoB DATE NOT NULL,
Sex CHAR(1) NOT NULL CHECK (Sex IN ('M', 'F')),
Email VARCHAR(30) UNIQUE);
CREATE TABLE Module
(ModCode CHAR(4) PRIMARY KEY,
ModName VARCHAR(25) NOT NULL,
ModCredits INTEGER NOT NULL CHECK (ModCredits IN (15, 30, 45, 60)),
ModLevel CHAR(3) NOT NULL CHECK (ModLevel IN ('UG1', 'UG2', 'UG3', 'MSc')),
ModLeader INTEGER NOT NULL,
Foreign Key (ModLeader) REFERENCES Staff (StaffID));
INSERT INTO Module VALUES ('C102', 'Java Fundamentals', 15, 'UG1', 108);
INSERT INTO Module VALUES ('C104', 'Oracle Fundamentals', 15, 'UG1', 100);
INSERT INTO Module VALUES ('E109', 'RF Circuit Design', 30, 'UG1', 102);
INSERT INTO Module VALUES ('E203', 'Side-Scan Sonar', 15, 'UG2', 104);
INSERT INTO Module VALUES ('C201', 'Database Applications', 15, 'UG2', 100);
INSERT INTO Module VALUES ('R209', 'Artificial Intelligence 1', 30, 'UG2', 105);
INSERT INTO Module VALUES ('C212', 'Advanced Java Apps', 15, 'UG2', 108);
INSERT INTO Module VALUES ('N205', 'Cisco Switches', 15, 'UG2', 109);
INSERT INTO Module VALUES ('C303', 'Database Administration', 30, 'UG3', 100);
INSERT INTO Module VALUES ('R310', 'Autonomous Botnets', 30, 'UG3', 106);
CREATE TABLE Enrolment
(ModCode CHAR(4) NOT NULL,
StudID INTEGER NOT NULL,
StartDate DATE NOT NULL,
PRIMARY KEY (ModCode, StudID),
Foreign Key (StudID) REFERENCES Student (StudID),
Foreign Key (ModCode) REFERENCES Module (ModCode));
어떤 학생이 어떤 모듈에 속하는지 정의하는 참조 표가 있습니까? 게시 한 표에서 어떤 학생이 특정 모듈에 속하는지 결정할 방법이없는 것 같습니다. –
모듈 테이블에 입력 된 데이터가 추가되었습니다. – James
어떤 쿼리에 문제가 있습니까? 또한 @mtinsley는 좋은 질문을 던졌습니다. 대답을 제공해주십시오. –