SQL with: - subQuery를 이름 붙여서 정의한 후에 사용- - Query의 전체적인 가독성을 높이고, 재사용할 수 있는 장점이 있어 개발자가 편해짐 - 기본 구조 WITH [ 별명1 ] [ (컬럼1, [, 컬럼2]) ] AS ( sub query ) main query - 다중 선언 WITH [ 별명1 ] [ (컬럼1, [, 컬럼2]) ] AS ( sub query ), [별명2] AS ( sub query2 ) main query # subquery2에서 subquery1을 사용할 수 있다 SELECT V.* FROM (SELECT S.SITE_CODE, S.SITE_NAME, V.VNDR_CODE, V.VNDR_NAME FROM TB_SITE AS S JOIN TB_SITE_VENDOR ..
sql
JOIN - 조인시킨다. 즉, 두 테이블을 병합시킨다. 병합시키는 기준에 따라 INNER / LEFT / RIGHT / FULL로 나뉜다. cf) pandas에도 join뿐만 아니라 merge, concat이 있다. SELECT D1.*, D2.first_name AS cust_first_name, D2.last_name AS cust_last_name, D2.store_id FROM sakila.actor D1 INNER JOIN sakila.c-ustomer D2 ON D1.first_name = D2.first_name; -- first_name이 똑같으면 무조건 붙이기 -- FROM TABLE1 [INNER|LEFT|RIGHT|FULL] JOIN TABLE2 ON TABLE1.KEY1 = TABL..
GROUP BY : 말 그대로 ~을 기준으로(BY) 짝지어 주는 것.(GROUP) == ( GROUP BY ) SELECT Continent FROM world.country GROUP BY Continent; -- GROUP BY 절의 변수를 그대로 SELECT 절로 복사 후 실행하면 -- 마치 DISTINCT를 넣은 것처럼 중복값 제거된 표의 틀 생성 ORDER BY : ~을 기준으로(BY) 정렬시켜 주는 것. (ORDER) == ( ORDER BY ) -- ORDER BY 뒤에 기준이 될 변수를 입력 -- 오름차순이 기본값 SELECT * FROM world.country ORDER BY SurfaceArea; -- 내림차순으로 정렬시에는 변수이름 뒤에 DESC를 추가로 입력 SELECT * FR..
WHERE - select문에서 조건절로 활용한다. e.g. SELECT * FROMworld.city WHEREPopulation >=9000000; world.city에서 population이 9000000이상인 것만 들고 오렴. SELECT COUNT(*) FROMworld.city; -- 전체 관측치 개수 확인 SELECT COUNT(*) FROMworld.city WHEREPopulation >=9000000; -- 조건과 일치하는 관측치 개수 확인 SELECT COUNT(*), SUM(IF(Population >=9000000, 1, 0)) FROMworld.city; # LIKE 키워드를 활용한 패턴 정의 -- 문자의 패턴을 활용한 조건 -- 상품코드, 지역코드 -> 규칙이 있어서 규칙을 활..
# MySQL을 사용한 것 SELECT: 가져올 변수의 이름을 ','로 구분해서 나열 FROM: 스키마, 테이블을 지정한다. (어디서(FROM) 가져올건지 정하는 것) 1. '*'을 활용한 모든 변수 선택 SELECT * FROM sakila.rental as RT LIMIT 10; ## LIMIT: 상단 10개까지 출력 -- (head(10)과 비슷하지만, python은 다 갖고온 후, 10개만 출력 -- LIMIT은 10개만 가져옴. 로딩이 빠름) -- 정보 확인을 위해 데이터의 구성을 살펴봐야하는 경우 활용 ## 키워드, 식별자는 대/소문자 구분이 없음 ## SELECT, FROM에서 불러온 것들은 다 'AS'를 활용하여 변수의 이름을 지정할 수 있다. ㄴ as를 안쓰고 뒤에 붙여도 as처럼 활용 ..
# 라이브 강의에서는 MySQL을, 온라인 강의에서는 oracle을 사용했다. # (대충 오라클 욕하는 내용) # 오라클 너무 불편한 것 같다. 배째라 방식의 운영의 느낌적인 느낌 # 고로 이번 정리는 MySQL을 기반으로 정리한 내용임. 1. 주석 '--' 또는 '#'을 써도 되는 것 같았다. /* 긴 주석은 두 줄 이상 주석 쓸 때 */ # 쿼리 실행 : Ctrl + Enter # SQL 구문은 대소문자 구분이 없음! # SQL 구문의 끝에는 세미콜론(;)을 넣어서 마침!! # 데이터베이스 == 스키마 - 데이터베이스를 스키마라고도 한단다. §SELECT 변수이름, 집계함수 §FROM 데이터이름, JOIN 키워드를 활용한 데이터 결합 §WHERE 변수를 활용한 조건 §GROUP BY 그룹변수이름 §O..
1. SELECT - 내가 원하는 column을 '선택'할 때 쓰는 것. SELECT COLUMN1 COLUMN2 FROM DATABASE ; - 안에 있는거 다내놔 SELECT * FROM DATABASE DUAL : 더미 데이터, 빈 데이터, 임시 저장 용도로 흔히 쓰이는 듯 SELECT (10 + 2) / S AS VAL FROM dual ; ORDER BY SELECT .. ORDER BY column [DESC/ASC] 다중 정렬도 가능 SELECT … FROM .. ORDER BY COL1, COL2 DESC → COL1은 오름차순 // COL2는 내림차순 SELECT DISTINCT문 중복된 값이 없도록 나오게 만듬. SELECT DISTINCT COL1 FROM … ORDER BY … → ..