[JOIN] 함수 실습하기
'LEFT OUTER JOIN' 예제 4 - 문제
아래의 형식을 출력하시오
1. 'INSERT'을 이용하여 아래의 데이터를 테이블에 작성할 것

2. 테이블을 6개 사용할 것 (mst 테이블 5개 dtl 테이블 1개)
course_mst / student_mst / emp_mst / status_mst (지정된 테이블 4개 포함)
3. 테이블을 정규화 할 것
4. SELECT와 JOIN을 사용하여 아래의 형식을 출력할 것

데이터 베이스 & 테이블 생성하기



👇 위 테이블들의 칼럼을 지정하고 'INSERT'문을 이용하여 테이블 작성하기 👇


>> 전체 수강정보에 대한 테이블
>> 수강정보에 '수강명', '학생 성명' 그리고 '상태'는 종속되어있다.


>> (학생)성명에 대한 테이블
>> 이름은 중복될 수 있기 때문에 NULL값을 허용해준다.
NULL 허용을 할 경우 : 중복은 금지되고, 비어있는(null) 것은 허용


>> 담당자에 대한 테이블


>> 상태에 대한 테이블


>> 수강명에 대한 테이블


>> 담당자는 수강명에 종속되지 않기 때문에 '정규화'를 위해 성명에 종속된 dtl을 추가 생성한다.
👇 'SELECT'와 'LEFT OUTER JOIN'을 사용하여 실행하기 👇

'subject_mst / student_mst / status_mst'는 'course_mst'에 종속되어 있지만
'emp_mst'는 'student_mst'에 종속된 'student_dtl'에 종속되어 있다.
👇 내용 추가하기 👇
student_mst에 학생을 추가하고 student_mst를 기준으로 JOIN 하여라



'student_mst'에 학생을 추가하고 emp_id(담당자)를 3(문자영)으로 지정하였다.
student_mst(학생)을 기준으로 JOIN 했을 때 'student_mst'값은 모두 출력되고
'course_mst'값 중에 비워져 있는 값은 NULL값으로 출력된다.
👇 'JOIN'으로 조합된 테이블을 'ORDER BY'로 정렬하기 👇

SQL 쿼리문은 실행 순서를 지켜야 한다.
FROM and JOIN
ㅣ
WHERE
ㅣ
GROUP BY
ㅣ
HAVING
ㅣ
SELECT
ㅣ
ORDER BY
ㅣ
LIMIT
위의 결과값의 설명 👇👇
'FROM'과 'JOIN'에서 테이블을 가지고 와서 정렬한다.
'SELECT'를 통해 결과 값을 출력한다.
출력된 값을 과목명 순으로 정렬하고 싶을 때에는??
>> 'ORDER BY'사용한다.

>> 과목명을 기준으로 'SELECT'문이 '오름차순'정렬되었다.
ORDER BY란?
'SELECT'문을 사용할 때 출력되는 결과물을 정렬하고자 하는 'Column(열)'을 기준으로
내림차순 또는 오름차순으로 정렬해주는 기능

'ORDER BY'는 여러 번 지정 가능하다.
위의 'ORDER BY'를 실행할 경우 👇

`순번`으로 오름차순 정렬된 다음
정렬된 순번 내에서 `과목명`으로 오름차순 되었다.

ORDER BY는 AS(ALIAS)가 아닌 테이블 이름 그대로를 입력하여 사용할 수 있다.
지금까지 데이터베이스의 함수인 [JOIN]과 [ORDER BY]에 대해 알아보았습니다.
다음 포스팅에서는 [GROUP BY]에 대해 알아보도록 하겠습니다.
❤긴 글 읽어주셔서 감사드립니다❤
'웹개발 > 웹 개발[데이터베이스-MySQL]' 카테고리의 다른 글
| 데이터베이스 [HAVING, ORDER BY, LIMIT] 함수 (0) | 2022.12.19 |
|---|---|
| 데이터베이스 [Group By] 함수 (0) | 2022.12.19 |
| 데이터베이스 [JOIN] 함수 1 (0) | 2022.12.19 |
| 데이터베이스 [DB] 정규화(Normalization) .2 (0) | 2022.12.19 |
| 데이터베이스 [DB] 정규화(Normalization) .1 (0) | 2022.12.19 |