아래 내용 과제
join 개념 참고
실험 1
SELECT users.id, users.name, users.post_id, posts.title, posts.content FROM users LEFT JOIN posts ON users.post_id = posts.id;
실험 2
SELECT users.id, users.name, users.post_id, posts.title, posts.content FROM users righT JOIN posts ON users.post_id = posts.id;
실험 3
mysql> SELECT users.id, users.name, users.post_id, posts.title, posts.content FROM users LEFT JOIN posts ON users.post_id = posts.id;
[3번 정답]
mysql> SELECT users.id, users.name, users.post_id, posts.title, posts.content FROM users LEFT JOIN posts ON users.id = posts.user_id;
따로 써보면 아래와 같다
mysql> select users.id,
-> users.name,
-> posts.id,
-> posts.title,
-> posts.content fRom users left join posts on users.id=posts.user_id;
[팁]
- 칼럼 이름을 매번 뜨기 힘드니, 내가 그렇게 쓰기로 했다. 임의로
- 칼럼 이름은 AS 생략해도 됨
SELECT users.id AS u.i, posts.title AS p.t FROM users LEFT JOIN posts ON users.post_id = posts.id;
SELECT users.id u.i, posts.title p.t FROM users LEFT JOIN posts ON users.post_id = posts.id;
SELECT users.id AS u.i, posts.title
AS p.t FROM users LEFT JOIN posts ON users.post_id = posts.id;
SELECT users.id u.i, posts.title p.t FROM users LEFT JOIN posts ON users.post_id = posts.id;
- on 뒤에는 fk
- FROM 뒤에는 left join 의 기준이 되는 테이블
- select * FROM users left join on fk 후에
* 로 다 보이면, 그때 , 내가 직접 보면서
* 자리에
select * 에 내가 보고 싶은 칼럼을 그떄 넣어서 뽑으면 된다. (출력 결과 보면서 하면 됨)
[erd table]에 users 테이블 -> order 테이블 -> order_detail 테이블 에 join, join , join 하려면
SELECT * FROM users
LEFT JOIN orders ON users.post_id = posts.id
LEFR JOIN orders_detail ON ~
--> 위에서부터 조인된 테이블로 내려와서 거기에서 조인하는 거
db beavers 다운
-> erd 테이블과 postman 동시 볼 수 있음
- join 으로 하면 교집합만 나옴
(한번은 left join으로 하고
한번은 Join으로 하면서
null 이 나오고 안 나오고 결과로 보는 거)
'Wecode - Project 3 (부트캠프) > Project 3 독학' 카테고리의 다른 글
- Api 작성 팁 (0) | 2023.10.18 |
---|---|
Postman 모음집 (프론트에 보내는 mock data, api 참고) (0) | 2023.10.18 |
vscode - mysql 확장자 사용하기 (0) | 2023.10.17 |
layered pattern ; import require (0) | 2023.10.17 |
routes vs. router (0) | 2023.10.17 |