본문 바로가기

하루 30분 SQL 공부하기

[SQL] SELECT문 기초 살펴보기 -2

https://codinghago.tistory.com/44

 

[SQL] SELECT문 기초 살펴보기 -1

SELECT문 기본 SELECT 조회하고_싶은_컬럼_이름 FROM 데이터베이스_이름 CAR_RENTAL_COMPANY_CAR 데이터 베이스에서 CAR_ID와 CAR_TYPE을 조회하고 싶다면 아래와 같이 쿼리문을 작성하면 된다.CAR_IDINTEGERFALSECAR

codinghago.tistory.com

어제에 이어서 오늘도 SQL SELECT문 기초를 살펴보자. 

 

SELECT - LIMIT 출력 개수 지정

select 문에서는 자료 갯수에 상관없이 모든 자료가 요청되어 자료가 많은 경우에는 특정 범위를 확인하는데 어려울 수 있다. 이런 경우 LIMIT키워드를 사용해서 지정한 갯수 만큼의 자료만 보여줄 수 있다. 

 

-- 5개로 한정
SELECT CAR_ID FROM CAR_RENTAL_COMPANY_CAR LIMIT 5

 

SELECT - ORDER BY 오름차순/ 내림차순으로 정렬

ORDER BY는 SELECT문에서 나온 결과를 정렬할 때 사용한다.

정렬에는 오름차순(Ascending)과 내림차순(Descending)이 있다. 각 영어의 앞자리를 따서 오름차순은 ASC, 내림차순은 DESC로 사용할 수 있다. 

 

ORDER BY는 기본값이 ASC(오름차순)이다. 

-- 하루 요금으로 오름차순 정렬
SELECT CAR_ID, DAILY_FEE 
FROM CAR_RENTAL_COMPANY_CAR 
ORDER BY DAILY_FEE

 

내림차순

-- 하루 요금으로 내림차순 정렬
SELECT CAR_ID, DAILY_FEE 
FROM CAR_RENTAL_COMPANY_CAR 
ORDER BY DAILY_FEE DESC

 

ORDER BY값을 여러개 주면 나열된 순서대로 왼쪽부터 정렬이 된다. 

-- 하루 요금으로 정렬
SELECT CAR_ID, DAILY_FEE 
FROM CAR_RENTAL_COMPANY_CAR 
ORDER BY DAILY_FEE DESC, CAR_ID ASC

 

 

 

SELECT  - 집계함수(SUM, AVG, MIN, MAX, COUNT)

비교연산자와 함께 기본적인 집계함수도 사용 가능하다. 

-- 조건 걸기 기본형
SELECT 집계함수(컬럼이름) FROM DB이름

-- 책 전체 판매량 합산(SUM)하기 
SELECT SUM(SALES_AMOUNT) FORM ONLINE_SALE

-- 책 전체 판매량 평균(AVG)내기
SELECT AVG(SALES_AMOUNT) FORM ONLINE_SALE

-- 책 판매량 최솟값(MIN)구하기
SELECT MIN(SALES_AMOUNT) FORM ONLINE_SALE

-- 책 판매량 최댓값(MAX)구하기
SELECT MAX(SALES_AMOUNT) FORM ONLINE_SALE

-- 책 판매량 데이터 개수(COUNT)세기
SELECT COUNT(SALES_AMOUNT) FORM ONLINE_SALE

 

SELECT  - || 2개 이상의 컬럼 합쳐서 조회하기 

만약 이름을 조회하고 싶은데 성과 이름이 따로 구분되어있다면 '||'을 사용해서 나눠짐 컬럼을 합쳐서 조회할 수 있다. 

-- 2개 이산 컬럼을 합쳐서 조회하기 
SELECT 컬럼이름1 || ' ' || 커럼이름2 FROM DB이름;

컬럼과 컬럼 사이는 (' ') 공백으로 연결 할 수 있다. 

 

-- 성과 이름을 합쳐서 full_name이라는 컬럼 이름으로 저장하기 
SELECT nameFirst || ' ' || nameLast AS full_name FROM People

여기서 AS를 사용하지 않으면 컬럼 이름은 nameFirst || ' ' || nameLast을 기본으로 저장한다. 

 

SELECT  - DISTINCT  고유값(중복제거)조회 

데이터의 중복을 제거하고 싶다면 DISTINCT를 사용할 수 잇다. DISTINCT는 COUNT(*)에는 사용할 수 없다는 특징이 있다. 

-- 중복 제거하기 
SELECT DISTINCT(컬럼이름) FROM DB이름

-- 전체이름이 중복되는 데이터 삭제하기 
SELECT DISTINCT(full_name) FROM Pelole

 

 

 

생각보다 SELECT문과 같이 사용할 수 있는 것들이 많은것 같다. 2번에 걸쳐서 정리하기는 했지만 프로그래머서 문제를 풀어보면서 더 추가적으로 정리할것이 있으면 천천히 추가해 가야겠다.