저번 SQL 메타코드 포스팅에서 서론을 모두 설명했으니 이번에도 새로 학습한 내용 위주로 작성해 보려고 한다. 이번 포스팅에서는 SQL 쿼리에서 자주 사용하는 내용들을 정리해 보려고 한다. 저번 포스팅에 join , window등의 내용은 정리했으니 이번에는 기본적으로 자주 사용하는 쿼리에 대해 포스팅 하겠다.
LIMIT과 OFFSET은 주로 결과 집합의 특정 부분을 제한하거나 건너뛸 때 사용한다 . 특히 LIMIT는 반환되는 레코드의 수를 제한하는데 상위n개 , 하위n개등을 추출할때 정렬기능과 같이 자주 쓰인다.
두개를 동시에 활용하는 예시로 처음 5개 레코드를 건너뛰고 그 다음 3ㄴ개 레코드를 선택하려면 위와같이 LIMIT 10 OFFSET 5를 사용하면 된다.
또한 , 5번째 행부터(번호 6부터) 3개의 행을 출력하려면 다음과 같이 사용하면 된다.
select lastname
from employees
limit 4,10;
5번째라고 햇으니 limit 4(5번째부터) , 10개를 하면 된다.
select employeeNumber as Employee_ID
from employees
limit 2,6;
Distinct를 사용하면 중복된 항 하나만 남기고 불러올 수 있다. 사용법은 간단하니 구조만 적겠다
select DISTIONCT column1 from table;
Select DISTINCT checkNumber
From ayments
LIMIT 10;
문자열에서 원하는 문자가 포함되어 있는지를 검색하고 %은 sql에서 0개이상 글자를 의미한다(공백도 포함). 즉 , where like %cars% 조건이면 cars를 포함하는 데이터를 필터이다.
조회하세요.
SELECT firstName, lastName
FROM employees
WHERE jobTitle LIKE '%Sales%';
like %sales%를 사용하면 Sales라는 단어가 포함된 문자를 의미한다.
NOT IN 은 특정 값이 포함되지 않은 데이터 조회 , IS NULL은 COLUMN 의 값이 NULL 인 데이터 조회 IS NOT NULL : COLUMN 의 값이 NULL 이 아닌 값을 조회한다.
위 두 코드는 모두 1,2,3이 아닌것을 조회하는 코드이다.
comments 값이 null인 데이터 , null이 아닌 데이터를 조회한다.
group by 랑 Having은 MY SQL 의 핵심 기능이자 다양한 데이터를 분석하기위해 꼭 필요한 기능이다. 한 개 이상의 컬럼을 기준으로 결과를 그룹화하며 SUM(), AVG(), COUNT(), MAX(), MIN() 등의 집계 함수와 결합되어 사용된다.
SELECT productLine, COUNT(productCode) AS ProductCount
FROM products
GROUP BY productLine;
SELECT orderNumber, SUM(priceEach * quantityOrdered) as totalOrderPrice
FROM orderdetails
GROUP BY orderNumber
ORDER BY totalOrderPrice DESC
LIMIT 5;
orderNumber을 기준으로 그룹으로 묶고 totalOrderPrice을 계한 후 totalOrderPrice로 내림차순 정렬을해 5개를 뽑아내면 된다.
SELECT productLine, AVG(buyPrice) as averagePrice
FROM products
WHERE productScale = '1:10'
GROUP BY productLine;
HAVING 절은 SQL의 GROUP BY 절과 함께 사용되며 그룹화된 결과에 조건을 적용하는 데 사용된다. WHERE 절은 개별 테이블에 대한 조건을 적용하는 반면, HAVING 절은 그룹화된 결과의 집계 값에 대한 조건을 적용한다.
SELECT country, COUNT(customerNumber) AS TotalCustomers
FROM customers
GROUP BY country
HAVING TotalCustomers >= 10
;
country별로 고객수를 count하고 count값이 10명이상인 값을 조회하기위해 having을 사용해 조건을 건다.
이번 포스팅은 sql에서 자주 사용하는 함수 및 문법들과 , 그와 관련된 문제들을 풀어보았다. 기초 개념인 만큼 난이도는 높지 않지만 SQL에서 매우 자주 쓰는 기능들이니 메타코드 강의를 통해 한번 더 복습했다. 이번에도 메타코드에 좋은 퀄리티 강의에 감사하고 SQL 공부를 하려는 사람이 있다면 추천한다.
메타코드 공식 사이트 : https://mcode.co.kr/
#메타코드 #메타코드M #SQL #데이터분석 #MYSQL #기초 #SQL공부 #데이터