FireDrago

[DB] SELECT문 총정리 본문

DB

[DB] SELECT문 총정리

화이용 2023. 8. 1. 17:14

SELECT 문은 테이블에서 데이터를 가져올때 사용한다.  

SELECT 문을 총 정리해보았다. 상황에 맞게 골라써 써보자

 

SELECT DISTINCT - 중복된 값을 하나의 값으로 나타내기 위해서 써준다.
SELECT DISTINCT name FROM table;
열_이름 - select 는 칼럼부터 탐색한다.
집계함수 - group by 와 자주 같이 사용된다. 데이터를 '그룹화 한다.'
SELECT
name , SUM(price * amount) "총가격" FROM table GROUP BY name;
FROM 테이블  
WHERE  = - 일반적인 조건식
SELECT * FROM table WHERE id = 'kim';
관계연산자 - 작거나 같다 등 관계를 나타냄
- SELECT * FROM table WHERE height  > 164
논리연산자 - AND , OR 등 
SELECT * FROM table WHERE height  > 164 AND height < 180
BETWEEN - 범위를 지정해줄때 사용 
SELECT * FROM table WHERE height  BETWEEN 164 AND 180
IN - 정확히 포함된 데이터를 검색할때
SELECT * FROM table WHERE name IN('홍길동' , '이순신');
LIKE - 일부 글자가  포함된  데이터를 검색할때
SELECT * FROM table WHERE name LIKE '우%'  (우로 시작하는 값 뒷글자 무엇이든)
SELECT * FROM table WHERE name LIKE '우 _ _' (우로 시작하고 뒷글자 두글자 )
서브쿼리 - 두개의 쿼리를 합쳐서 하나로 표현 
SELECT name WHERE height > (SELECT height FROM table WHERE name='소녀시대');
GROUP BY 열_이름 - 집계함수와 함께 사용된다. 집계함수가 사용될때 DISTINCT 역할
SELECT id ,SUM(price*amount) FROM table GROUP BY id HAVING SUM(price*amount) >10; 
HAVING (where 동일) -GROUP BY 뒤에 위치하고, 집계함수에 조건을 줄때 사용 , 그 외는 WHERE 과 동일
SELECT id ,SUM(price*amount) FROM table GROUP BY id HAVING SUM(price*amount) >10;
ORDER BY 열_이름
(DESC, ASC)
- 출력을 어떻게 할 것인가, 오름차순 내림차순, 중복사용도 가능 (첫번째 기준이 같을때 기준)
SELECT id FROM table ORDER BY date DESC;
LIMIT 숫자 - 표시할 행의 갯수 설정
SELECT id FROM table ORDER BY date DESC LIMIT 3;

 

 

 

집계함수의 종류 

함수명 설명
SUM( ) 합계 구할때
AVG( ) 평균
MIN( ) 최소값
MAX( ) 최댓값
COUNT( ) 갯수 구하기
COUNTDISTICT( ) 갯수 구하기 (중복값 세지 않음)

'DB' 카테고리의 다른 글

[mySQL] 제약조건  (0) 2023.08.07
[mySQL] JOIN 문  (0) 2023.08.03
[Oracle] INSERT / SELECT / UPDATE / DELETE 기본문법  (0) 2023.05.13
[Oracle] 오라클 데이터 타입  (0) 2023.05.13
[DB] 데이터베이스 (DB), SQL의 필요성  (0) 2023.05.13