일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 컴퓨터구조
- SQL
- 데이터베이스
- 정보처리기사필기
- 코딩테스트
- 언리얼프로젝트
- 디버깅
- 언리얼학습
- 혼공머신
- 딥러닝
- 데이터시각화
- pandas
- 자바
- 파이썬라이브러리
- 정수와유리수
- 파이썬
- 중학수학
- 운영체제
- 데이터입출력구현
- html/css
- 머신러닝
- 자바 실습
- 정보처리기사실기
- 중학1-1
- 데이터분석
- 요구사항확인
- JSP/Servlet
- C++
- 텍스트마이닝
- numpy/pandas
- Today
- Total
클라이언트/ 서버/ 엔지니어 " 게임 개발자"를 향한 매일의 공부일지
다수의 테이블 제어하기 4 - 조건을 적용해 두 개의 테이블 조회하기 본문
조금 전에 SQL 공부를 하다 너무 안 되서 정말 화가 났지만 다시 공부에 집중해 보기로 했다. 지난 6월부터 4달 동안 내가 맘 잡고 공부한 이후로 해결이 안 되는 문제는 거의 없었다. 무슨 일이 있어도 문제를 파고들어 반드시 해결했다. 지금까지 딱 두 가지 문제를 해결하지 못했는데 모두 SQL이었다. 하나는 권한을 부여하는 REVOKE였고, 다른 하나는 오늘 이 문제이다. 어쨌든 이 문제도 조만간 해결이 되리라 본다.
문제가 생길 때 난 사람들에게는 절대로 물어보지 않는다. 내가 혼자서 해결할 때 진짜 그 문제에 대한 열쇠를 쥘 수 있다는 것을 알게 되었기 때문이다. 어쨌든 잠시 이 문제는 접어두고 엘리스도 SQL 공부를 이어서 진행해 볼 것이다.
이론 4 - 조건을 적용해 두 개의 테이블 조회하기
이 두 개의 테이블을 연결하여 하나의 테이블을 만들었다.
컬럼에 테이블 명을 붙여서 더 명확하게 지정하는 것이다.
실습 5 - 두 테이블 간의 교집합 : INNER JOIN 1
먼저 두 개의 테이블에 어떤 정보가 들어있는지 살펴본다.
rental 테이블에는 책을 빌러 간 날짜와 반납한 날짜가 나와있고, user 테이블에는 어떤 사람인지에 대한 정보가 들어있다. 우리는 이 둘을 조인하여 하나의 테이블로 만들어볼 것이다.
문제의 조건은 rental 테이블의 모든 컬럼을 조회하되 user 테이블과 연결하라고 했으니 코드를 이처럼 쓰면 된다.
왼쪽에는 rental 테이블이, 오른쪽에는 user 테이블이 연결되었다.
실습 6 - 두 테이블 간의 교집합 : INNER JOIN 2
두 테이블이 조인이 되었지만 필요없는 정보까지 조회되어 알아보기 힘들다. 이번에는 id를 기준으로 조인해 볼 것이다.
왼쪽에 있는 user_id와 user.id가 연결되었다. 둘의 단어가 비슷해서 많이 헤깔렸다.
실습 7 - 두 테이블 간의 교집합 : INNER JOIN 3
먼저 두 테이블을 inner 조인으로 연결해 본다.
그러면 굉장히 많은 테이블이 조회되는데 salaies와 employees의 emp_no가 서로 같지는 않다. 이제 emp_no를 기준으로 연결하기 위해 on을 사용해 조건을 추가해 보겠다.
이 문제에서는 연결하려는 컬럼명이 같았지만, 컬럼명이 어떻게 되는지 이 부분을 잘 확인해야 한다.
이제 emp_no로 잘 연결되었다.
퀴즈 4 - 조건을 적용해 두 개의 테이블 조회하기
학습을 마치고
오랜만에 엘리스로 공부해 보니 SQL 책 보다 이해하기가 더 쉬웠다. 솔직히 오늘은 공부가 잘 되지 않고 평소보다 집중력이 많이 떨어지는 것 같다.
그래도 매일 하루 최소 8시간은 공부하려고 한다. 이제 2개의 이론 수업이 남아있으니 조금만 더 힘을 내서 해보자!
'알고리즘 및 자료 관리 > SQL' 카테고리의 다른 글
다수의 테이블 조회하기 6 - RIGHT JOIN (0) | 2024.10.13 |
---|---|
다수의 테이블 조회하기 5 - LEFT JOIN (1) | 2024.10.13 |
SQL 고급 문법 1 - MySQL의 데이터 형식 1 : 데이터 형식 (0) | 2024.10.13 |
SQL 기본 문법 4 - 데이터 변경을 위한 SQL 문 (0) | 2024.10.13 |
SQL 기본 문법 3 - 좀더 깊이 있게 알아보는 SELECT 문 (2) | 2024.10.12 |