본문 바로가기

SQL5

[SQL] CASE WHEN / CREATE FUNCTION 📚 CASE WHEN 📌 문법 -- 방법1 CASE WHEN 조건식1 THEN 결과1 WHEN 조건식2 THEN 결과2 ELSE 결과3 END -- 방법2 CASE [컬럼] WHEN 조건값1 THEN 결과1 WHEN 조건값2 THEN 결과2 ELSE 결과3 END• 방법1은 조건식을 직접 입력하는 방식이고, 방법이는 컬럼을 지정하고 해당 컬럼에서 참거짓을 판별할 조건값을 입력하는 방식이다. • ELSE 생략 시 NULL 값을 반환함 📚 함수 만들기 📌 문법 CREATE FUNCTION [함수 이름] ([입력값 이름] [데이터 타입], ......) RETURNS [결과값 데이터 타입] BEGIN DECLARE [임시값 이름] [데이터 타입] SET [임시값 이름] =[입력값 이름] 쿼리; RETURN 결.. 2023. 5. 9.
[SQL] GROUP BY 📚 GROUP BY 함수 SELECT [컬럼1], .... 집계함수([컬럼2]) FROM [테이블] GROUP BY [컬럼1] HAVING 조건문; • 여러 개의 컬럼으로 그룹화가 가능하며, SELECT 절의 입력한 컬럼 순서를 컬럼 번호로 입력하는 것도 가능함. • GROUP BY 가 포함된 쿼리의 SELECT 절에는 GROUP BY의 대상 컬럼과, 그룹 함수만 사용이 가능함. 📌 그룹 함수 COUNT / SUM / AVG / MIN / MAX • 그룹의 기준이 되는 칼럼은 GROUP BY() 에 들어가는 컬럼과 같아도 되고, 같지 않아도 됨 📌 참고 : 쿼리 작성 및 실행 순서 명령어 작성 순서 실행 순서 SELECT 1 5 FROM 2 1 WHERE 3 2 GROUP BY 4 3 HAVING 5 4.. 2023. 3. 8.
[SQL] 기본함수, ORDER BY 📚 WHERE 조건 ✅ LIKE 에서 와일드 카드 • LIKE 사용 시 %는 매칭되는 문자의 수 상관없을 때, _ 는 1개의 문자에만 매칭해서 사용함 % 0개 이상의 문자 (정확한 길이 알 수 없음) _ 1개 __ 2개 _% 1개 이상의 문자 (정확한 길이 알 수 없음) 📚데이터 정렬 ✅ ORDER BY 📌컬럼 여러개 기준으로 정렬하는 경우 SELECT * FROM TMP_TABLE WHERE ~~ ORDER BY 컬럼1 DESC, 컬럼2 ; 위와 같이 여러 개의 컬럼에 대해서 정렬하는 경우, 컬럼1을 기준으로 먼저 내림차순으로 정렬한 후에, 컬럼1의 값이 동일한 row에 대해서만 컬럼2 오름차순 기준으로 정렬한다. ✅ RANK 📌순위를 정해서 가져오는 경우 • 항상 ORDER BY랑 함께 사용함. • .. 2023. 3. 5.
[SQL] 데이터베이스 다루기 📚 데이터 삽입/삭제/수정 ✅ 데이터 삽입 INSERT INTO [테이블] ([컬럼1], [컬럼2], [컬럼3]) VALUES([컬럼1의 값], [컬럼2의 값], [컬럼3의 값], [컬럼1의 값], [컬럼2의 값], [컬럼3의 값], [컬럼1의 값], [컬럼2의 값], [컬럼3의 값], .....) • INSERT INTO 에서 정의한 컬럼의 수와, VALUE 부분의 각 컬럼 값들에 들어가는 리스트 인자의 수가 동일해야 함 예시 ) CREATE TABLE tmp_1( number INT, name VARCHAR(20), type VARCHAR(10)); -- 값 넣기 INSERT INTO tmp_1 (number, name, type) VALUES (10, 'a', 'aa'),(25, 'b', 'bb').. 2023. 2. 28.
[SQL] 서브쿼리 기본 개념 📚 SQL 서브쿼리 정리 📌 서브쿼리 : 한 쿼리 내에 포함된 또 하나의 쿼리 • GROUP BY 절을 제외하고 모든 부분에 사용 가능 • 서브쿼리는 반드시 괄호 안에 포함되어야 함 ✅ SELECT 절의 서브쿼리 SELECT [컬럼], (SELECT [컬럼] FROM [테이블] WHERE 조건) FROM [테이블] WHERE 조건; • = 스칼라 서브쿼리 • SELECT 절의 서브쿼리는 결과가 반드시 하나의 값이어야 함 ✅ FROM 절의 서브쿼리 SELECT [컬럼] FROM (SELECT [컬럼] FROM [테이블] WHERE [조건]) AS [별명] WHERE 조건; • =인라인 뷰 서브쿼리 • FROM 절의 서브쿼리는 결과가 반드시 하나의 테이블이어야 함 • 서브쿼리로 만들 테이블은 alias가 필.. 2023. 2. 6.