SQL 6

SQL query 문 (6): JOIN하고 GROUP BY 후 한번 더 JOIN

SELECT oh.* FROM order_history AS oh JOIN (SELECT MAX(order_id) AS oi FROM order_history AS oh JOIN inventory AS i ON i.inventory_id=oh.inventory_id WHERE i.status=1 GROUP BY oh.inventory_id) AS group_oi ON group_oi.oi=oh.order_id WHERE oh.buyer_id = 58901 ORDER BY oh.ordered_at DESC LIMIT 5 Subquery order_history 테이블과 inventory 테이블을 inventory_id 컬럼을 통해 JOIN. order_history 테이블의 alias는 oh, invent..

Data 2022.06.21

SQL query 문 (4): 기본 쿼리문 (GROUP BY, JOIN 심화)

GROUP BY를 통해 집계한 테이블과 다른 테이블을 JOIN할 경우 SELECT t1.column_name_1, t1.column_name_2, t2.column_name_3, t2.count FROM table_name_1 AS t1 JOIN (select column_name_4, COUNT(*) FROM table_name_2 GROUP BY column_name_4) t2 on t1.column_name_4 = t2.column_name_4 ORDER BY t2.count DESC LIMIT 100 SELECT 문에는 결과로 표시할 column을 지정한다. table_name_1의 약칭은 t1. table_name_2를 column column_name_4로 GROUP BY한 결과를 t2로 약칭..

Data 2022.04.14

SQL query 문 (3): 기본 쿼리문 (WHERE 심화)

데이터베이스에서 특정 아웃풋만을 출력하고 싶을 때 조건문을 사용한다. 오늘은 다양한 조건문 연산자에 대해 정리해보려 한다. 크게 AND/OR, BETWEEN, IN, LIKE 이렇게 4가지로 분류했다. 1. AND/OR SELECT * FROM where AND 위 쿼리문은 WHERE 문에 AND 연산자를 사용했기에 condition1과 condition2를 모두 만족하는 결과만을 출력한다. SELECT * FROM WHERE OR 위 쿼리문은 WHERE 문에 OR 연산자를 사용했기에 condition1, condition2 둘 중 하나 이상의 조건을 만족하는 결과만을 출력한다. 2. BETWEEN A AND B SELECT * FROM WHERE >= 30 AND

Data 2022.03.18

SQL query 문 (2): 기본 쿼리문 (JOIN, GROUP BY)

현재 DB를 다루면서 또 많이 사용하는 쿼리문은 JOIN과 GROUP BY 문이다. 오늘은 이에 대해 정리해보려 한다. 1) JOIN # 2개 테이블 조인 SELECT * FROM AS t1 JOIN AS t2 ON t1. = t2. WHERE ; table_1과 table_2의 모든 컬럼을 출력하려면 SELECT 문 뒤에 * 를 사용한다. t1과 t2는 table_1과 table_2의 약칭이다. JOIN을 통해 table_1과 table_2를 조인한다. ON 이후에 table_1와 table_2를 결합할 수 있도록 연결고리를 할 각 테이블의 column 명을 작성한다. 만약 추가로 조건문을 넣고 싶다면, WEHRE 문을 통해서 조건을 걸 수 있다. # 3개 테이블 조인 SELECT t1., t1., t..

Data 2022.03.17

SQL query 문 (1): 기본 쿼리문 (SELECT, INSERT, UPDATE, DELETE DROP)

회사에서 데이터베이스를 관리하면서 많이 사용하는 쿼리문들이 있다. 이 가운데 SELECT문 같은 경우에는 정말 많이 사용하지만, DELETE나 UPDATE같은 경우는 자주 사용하지 않고 실제로 사용할 일이 없어야 하지만 피치 못하게 필요할 때가 있다. 매번 검색해서 찾게 돼서.. 오늘은 자주 사용하는 쿼리문을 정리해 봤다. (join 같은 경우는 따로 정리를 할 생각이다.) 1) SELECT 우선 데이터베이스를 사용하면 필수적으로 사용하게 되는 첫 번째 쿼리문 SELECT SELECT * FROM table_name 이 쿼리문은 테이블 내 모든 컬럼과 row를 출력하는 쿼리문이다. *이 모든 column을 의미한다. 만약 특정 column들에 대해서만 출력을 하고 싶다면 * 대신에 column name ..

Data 2022.03.03