SQL query not functioning as required

Course Queries Syllabus Queries 3 years ago

9.7K 2 0 0 0

User submissions are the sole responsibility of contributors, with TuteeHUB disclaiming liability for accuracy, copyrights, or consequences of use; content is for informational purposes only and not professional advice.

Answers (2)

Post Answer
profilepic.png
manpreet Tuteehub forum best answer Best Answer 3 years ago


I have this database of college. I have to Retrieve student-ids of students who have taken a class with an instructor named “John”.

SO far

SELECT student_id
FROM enrolls
JOIN teaches ON enrolls.number=teaches.number
WHERE Instructor.name=(
    SELECT name 
    FROM Instructor 
    WHERE name='john'
); 

but this is not working.

create table Course (
  number int,
  title varchar(255),
  credits int,
  syllabus varchar(255),
  PRIMARY KEY (number)
  );

INSERT INTO Course VALUES (620,'Algorithm',3,'XYZ');
INSERT INTO Course VALUES (232,'Java',2,'ABC');
INSERT INTO Course VALUES (420,'Cpp',2,'PQRS');
INSERT INTO Course VALUES (720,'Big Data',3,'NVGY');
INSERT INTO Course VALUES (120,'Intelligent System',4,'KJHU');
INSERT INTO Course VALUES (220,'Operating System',3,'GED');
INSERT INTO Course VALUES (480,'Graphics',4,'RSFN');
INSERT INTO Course VALUES (520,'Distributed Networks',3,'NHU');
INSERT INTO Course VALUES (820,'Data Mining',3,'TYU');
INSERT INTO Course VALUES (700,'Cryptography',1,'MNO');

create table Student (
  student_id int,
  name varchar(255),
  department varchar(255),
  PRIMARY KEY (student_id)
  );

INSERT INTO Student VALUES (2345,'Mike','Computer Science');
INSERT INTO Student VALUES (346,'Rob','Computer Science');
INSERT INTO Student VALUES (
                                                
0 views
0 shares

profilepic.png
manpreet 3 years ago

Your WHERE clause needs to refer to one of the tables you have selected or joined, which are enrolls and teaches. So you would have to do something like WHERE teaches.instructor_id=(SELECT instructor_id FROM Instructor WHERE name='john');

PS: You might also want to throw a DISTINCT in your top level select.


0 views   0 shares

No matter what stage you're at in your education or career, TuteeHUB will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.

Similar Forum