FireDrago
[DB] SELECT문 총정리 본문
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 |
