SELECT column, special_column
FROM
( # Subquery
SELECT column1, column2 special_column
FROM table1
) a
SELECT column1, column2
FROM table1
WHERE column1 = (SELECT col1 FROM table2)
예1)
SELECT price, quantity
FROM food_orders fo
서브쿼리 적용
SELECT price / quantity
FROM
(
SELECT price, quantity
FROM food_orders fo
) a
여러 테이블에서 데이터를 불러오는 방법
공통 컬럼을 기준으로 두 테이블을 합쳐서, 각각 테이블에서 필요한 데이터를 조회할 수 있도록 만들어주는 것
엑셀의 Vlookup 과 유사
LEFT JOIN
: 왼쪽 테이블의 모든 행을 포함하고, 오른쪽 테이블에서 일치하는 행이 있는 경우 해당 행을 함께 가져옴
예)
A : 1, 2, 3 | B : 2, 3, 4
-> 1, 2, 3 가져옴.
(대응하는 값이 없다면 NULL 값이 들어감)
INNER JOIN
: 왼쪽 테이블과 오른쪽 테이블에서 모두 일치하는 행만 가져옴. 두 테이블 간의 공통된 값을 기준으로 데이터를 결합하는 방법
예)
A : 1, 2, 3 | B : 2, 3, 4
-> 2, 3 가져옴.
-- LEFT JOIN
SELECT 조회 할 컬럼
FROM 테이블1 a
LEFT JOIN 테이블2 b ON a.공통 컬럼명 = b.공통 컬럼명
-- INNER JOIN
SELECT 조회 할 컬럼
FROM 테이블1 a
INNER JOIN 테이블2 b ON a.공통 컬럼명 = b.공통 컬럼명
# a, b는 테이블의 Alias
예) 1
-- LEFT JOIN
SELECT *
FROM food_orders fo
LEFT JOIN payments p ON fo.order_id = p.order_id
-- INNER JOIN
SELECT *
FROM food_orders fo
LEFT JOIN payments p ON fo.order_id = p.order_id
- '공통 컬럼'은 묶어주기 위한 ‘공통 값’ 이기 때문에 두 테이블의 컬럼명은 달라도 괜찮다.
예)
주문정보에는 ‘고객ID’, 고객정보에는 ‘고객아이디’ 라고 컬럼명이 되어 있을 경우
-> 테이블1.고객ID=테이블2.고객아이디 와 같이 묶어줄 수 있다.
예2)
SELECT f.order_id
, f.customer_id
, f.restaurant_name
, f.price
, c.name
, c.age
, c.gender
FROM food_orders f
LEFT JOIN customers c ON f.customer_id = c.customer_id
order_id, customer_id, restaurant_name, price는 food_orders 테이블에서,
name, age, genderdms customers 테이블에서 가져옴.
오늘의 TMI
오늘만 블루스크린 정확히 7번 영접^_^
원래도 고물(...) 노트북이기는 했는데 이제 진짜 보내줘야 할 때가 온 것 같다.
현재 가장 큰 문제:
1. 충전기 빼는 순간 전원 나감. 24/7 항상 충전기 꽂아놓고 써야 함.
충전기 조금이라도 헐거워진다? 바로 꺼짐;;
2. 집 거실에 공유기 있고, 바로 앞인 내 방에서 노트북 쓰는데 와이파이 안잡힘(잡혀도 신호 1개 잡힘) -> 폰 와이파이로 핫스팟 연결해서 써야함 그마저도 불안정해서 잠깐씩 꺼졌다 연결되고는 하는데 이게 진짜 미침.......... 언제 튕길지 몰라서 항상 긴장타고 있어야 하고 유튜브 실시간, ZOOM 같은건 항상 무한로딩 + 버퍼링 + 튕김 콜라보에 조금만 사진 많은 글 읽으면 로딩 되다 마는 내 똥컴.
3. 시간이 매번 제멋대로 바뀜. 항상 날짜 및 시간 설정 켜놓고 수시로 새로고침 해줘야 함. 이것 때문에 약속 어길 뻔한 적 한두번이 아님...... 이유는 나도 모른다. 그냥 지멋대로 시간 바뀌어있을 때가 많다. 시간대는 분명 대한민국 서울인데 말이야........
이런 상황이 1년정도 지속된 상태고, 이미 고등학생 때부터 거진 8년 가까이 써왔기 때문에 노트북 바꾸기로 했다.....만!
너무 성능이 좋은 노트북으로 바꾸게 생겼다. 개오바야 진짜 너무 고가 아냐?????? 아무튼 마지막(?) 지원이라고 해서 받기야 받지만 이걸 내가 잘 활용할 수 있을까 싶다. 진짜 너무 부담됨.....