본문 바로가기
[Microsoft] Cyber Security School 7기

MySQL JOIN 과제

by juyeon2110 2026. 5. 26.

 

 

1. 실습 테이블 생성

CREATE DATABASE join_practice;

USE join_practice;

departments 테이블

CREATE TABLE departments (
    department_id INT PRIMARY KEY,
    department_name VARCHAR(50)
);

students 테이블

CREATE TABLE students (
    student_id INT PRIMARY KEY,
    student_name VARCHAR(50),
    department_id INT,
    FOREIGN KEY (department_id)
        REFERENCES departments(department_id)
);

courses 테이블

CREATE TABLE courses (
    course_id INT PRIMARY KEY,
    course_name VARCHAR(50),
    professor VARCHAR(50)
);

enrollments 테이블

CREATE TABLE enrollments (
    enrollment_id INT PRIMARY KEY,
    student_id INT,
    course_id INT,
    grade CHAR(1),
    FOREIGN KEY (student_id)
        REFERENCES students(student_id),
    FOREIGN KEY (course_id)
        REFERENCES courses(course_id)
);

 

2. 실습 데이터 입력

departments 데이터

INSERT INTO departments VALUES
(1, 'Computer Science'),
(2, 'AI Engineering'),
(3, 'Cyber Security'),
(4, 'Data Science');


students 데이터

INSERT INTO students VALUES
(101, 'Kim', 1),
(102, 'Lee', 2),
(103, 'Park', 1),
(104, 'Choi', 3),
(105, 'Jung', 2);


courses 데이터

INSERT INTO courses VALUES
(201, 'Database', 'Professor Han'),
(202, 'Operating System', 'Professor Kim'),
(203, 'Network Security', 'Professor Lee'),
(204, 'Machine Learning', 'Professor Park');


enrollments 데이터

INSERT INTO enrollments VALUES
(1, 101, 201, 'A'),
(2, 101, 202, 'B'),
(3, 102, 204, 'A'),
(4, 103, 201, 'C'),
(5, 104, 203, 'A');

 

 

 

1.

모든 학생의 이름과 학과명을 조회하세요.

2.

Computer Science 학과 학생만 조회하세요.

3.

모든 학생과 수강 과목을 조회하세요.

수강하지 않은 학생도 출력하세요.

4.

수강 신청하지 않은 학생만 조회하세요.

5.

학생 이름, 학과명, 과목명, 교수명, 성적을 조회하세요.

6.

학과별 수강 신청 건수를 조회하세요.