

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.
학과별 수강 신청 건수를 조회하세요.

'[Microsoft] Cyber Security School 7기' 카테고리의 다른 글
| 침입탐지 분석 보고서 -Chainsaw + Sigma Rules (0) | 2026.06.02 |
|---|---|
| AZ-700-Designing-and-Implementing-Microsoft-Azure-Networking-Solutions / M02-Unit 3 Create and configure a virtual network gateway Exercise 트러블슈팅 기록 (0) | 2026.05.29 |
| CI/CD 과제 (0) | 2026.05.25 |
| 클라우드 기반 윈도우/리눅스 서버 과제-3...IDM(FreeIPA), Active Directory 과제 (0) | 2026.05.19 |
| 클라우드기반 데이터베이스보안 과제-1 도커(Docker) (0) | 2026.05.19 |