상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - MySQL에서 중간 테이블을 포함한 SELECT 쿼리의 예시는 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
MySQL에서 중간 테이블을 포함한 SELECT 쿼리는 일반적으로 여러 테이블 간의 관계를 통해 데이터를 조회할 때 사용됩니다. 중간 테이블은 두 개 이상의 테이블 간의 다대다 관계를 관리하기 위해 사용되는 테이블로, 주로 외래 키를 통해 다른 테이블과 연결됩니다. 이러한 쿼리는 JOIN 연산을 통해 수행됩니다. 예시 시나리오 가정해보겠습니다. 우리는 `students`, `courses`, `<a href='https://sangseek.com/sangseeks/enrollment/ko'>enrollment</a>s`라는 세 개의 테이블을 가지고 있습니다. - `students` 테이블: <a href='https://sangseek.com/sangseeks/학생 정보/ko'>학생 정보</a>를 저장합니다. - `student_id` (Primary Key) - `name` - `age` - `courses` 테이블: 강좌 정보를 저장합니다. - `course_id` (Primary Key) - `course_name` - `credits` - `enrollments` 테이블: 학생과 강좌 간의 관계를 저장합니다. (중간 테이블) - `enrollment_id` (Primary Key) - `student_id` (Foreign Key) - `course_id` (Foreign Key) 이 구조에서 학생이 여러 강좌에 등록할 수 있고, 각 강좌에 여러 학생이 등록할 수 있습니다. 이제 특정 학생이 수강하는 모든 강좌의 정보를 조회하는 SELECT 쿼리를 작성해보겠습니다. SELECT 쿼리 예시 ```sql SELECT s.student_id, s.name AS student_name, c.course_id, c.course_name, c.credits FROM students s JOIN enrollments e ON s.student_id = e.student_id JOIN courses c ON e.course_id = c.course_id WHERE s.student_id = 1; -- 특정 학생 ID를 기준으로 조회 ``` 쿼리 설명 1. SELECT 절 : 조회할 컬럼을 지정합니다. 학생의 ID와 이름, 강좌의 ID, 이름, 학점을 선택합니다. 2. FROM 절 : `students` 테이블을 기본 테이블로 설정합니다. `s`는 `students` 테이블의 별칭입니다. 3. JOIN 절 : - 첫 번째 JOIN은 `enrollments` 테이블과 연결하여 학생과 그 학생이 등록한 강좌 간의 관계를 설정합니다. `e`는 `enrollments` 테이블의 별칭입니다. - 두 번째 JOIN은 `courses` 테이블과 연결하여 강좌의 세부 정보를 가져옵니다. `c`는 `courses` 테이블의 별칭입니다. 4. WHERE 절 : 특정 학생 ID(예: 1)를 기준으로 결과를 필터링합니다. 결과 이 쿼리를 실행하면 학생 ID가 1인 학생이 수강하는 모든 강좌의 정보가 반환됩니다. 결과는 다음과 같은 형식이 될 것입니다: | student_id | student_name | course_id | course_name | credits | |------------|--------------|-----------|-------------|---------| | 1 | John Doe | 101 | Mathematics | 3 | | 1 | John Doe | 102 | Physics | 4 | 결론 중간 테이블을 포함한 SELECT 쿼리는 여러 테이블 간의 관계를 통해 복잡한 데이터를 효율적으로 조회할 수 있는 강력한 방법입니다. JOIN을 사용하여 관련된 데이터를 결합하고, WHERE 절을 통해 특정 조건에 맞는 결과를 필터링함으로써 원하는 정보를 쉽게 얻을 수 있습니다. 이러한 기법은 데이터베이스 설계와 쿼리 작성에서 매우 중요한 요소입니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기