SQL 기본 구조와 문법
SQL
Query
DBeaver
데이터베이스
SQL 사용 해보기
alias (별칭)
한글, 특수 문자 사용시 ""로 별칭 지정
ex) SELECT 컬럼 as "별칭" FROM 테이블명
ex) SELECT 컬럼 별칭 FROM 테이블명
SELECT
데이터 조회 / 검색 / WHERE (필터링)
ex) SELECT 컬럼 FROM 테이블명 WHERE 조건식
ex) SELECT 컬럼1, 컬럼2 FROM 테이블명 WHERE 컬럼 조건식( A = 10 )
ex) SELECT 컬럼1, 컬럼2 FROM 테이블명 WHERE 컬럼 조건식( A > B ) and ( C > D )(비교 연산)
ex) SELECT * FROM 테이블명 WHERE 컬럼 LIKE '%김' (%문자열 부분 검색) (** 모든 컬럼)
ex) SELECT 컬럼 FROM 테이블명 WHERE 컬럼 BETWEEN 10 AND 20 (범위 설정)
ex) SELECT 컬럼 FROM 테이블명 WHERE 컬럼 IN ( A, B, C ) (or 조건이 여러개인 경우)(포함)
ex) SELECT 컬럼 FROM 테이블명 WHERE NOT 컬럼 IN ( A, B, C ) (NOT 반대 결과 반환)
GROUP BY (범주)
범주를 정하고 같은 값을 가진 행끼리 묶어서 하나의 그룹으로 보여준다.
ex) SELECT genre,
sum(qty) total
FROM novel
group by genre
ORDER BY(정렬)
조회 결과를 원하는 순서대로 정렬 (기본 오름차순 asc) (내림차순 desc)
SELECT문에 엑셀 함수 적용
함수는 대소문자 구분X
SUM(덧셈), AVG(평균)
ex) SELECT 컬럼1, 컬럼2, 컬럼1 + 컬럼2 as 결과 컬럼명(별칭) FROM 테이블명
ex) SELECT 컬럼1, 컬럼2, 컬럼1 * 컬럼2 as 결과 컬럼명(별칭) FROM 테이블명
ex) SELECT sum(컬럼1) 결과 컬럼명(별칭), AVG(컬럼2) 결과 컬럼명(별칭) FROM 테이블명
count(데이터 갯수) / DISTINCT(컬럼의 데이터 갯수)
ex) SELECT COUNT(1) 결과 컬럼명(별칭) FROM 테이블명
ex) SELECT COUNT(DISTINCT 컬럼) 결과 컬럼명(별칭) FROM 테이블명
ex) 주문 번호 갯수 1800 / 주문을 한 고객수 1200 (중복 주문한 고객이 있기 때문)(distinct)
MIN(최솟값) / MAX(최댓값)
ex) SELECT MIN(컬럼) 결과 컬럼명(별칭), MAX(컬럼) 결과 컬럼명(별칭) FROM 테이블명
SQL 가공하기
REPLACE(특정 문자열 변경)
ex)SELECT addr "기존 주소",
REPLACE(addr, '문곡리', '문가리') "바뀐 주소"
FROM food_orders
WHERE addr LIKE '%문곡리%'
SUBSTRING(특정 문자열만 필요할 때 그 부분만 조회)
substr(컬럼, 시작위치, 길이)
ex)select addr "원래 주소",
substr(addr, 1, 2) "시도"
from food_orders
where addr like '%서울특별시%'
CONCAT(여러 컬럼의 문자 합치기)
concat(붙이고 싶은 값1, 붙이고 싶은 값2)
ex)select restaurant_name "원래 이름",
addr "원래 주소",
concat('[', substring(addr, 1, 2), '] ', restaurant_name) "바뀐 이름"
from food_orders
where addr like '%서울%'