USE 구문 :
정의 : 데이터 베이스를 선택할때 쓰인다.
Ex: USE databases;
SELECT 구문 :
정의: database에서 원하는 정보를 나열할때 쓰인다.
- Python에서 print의 기능이라 보면 된다.
ex : SELECT (col_name) as ‘designated name’ FROM Database.tablename;
WHERE 절 :
정의: 특정 column에서 특정 row값을 선택하여 select한다.
-if의 역할이라 볼 수 있다.
1.OR AND
- if 와 비슷하게 or and로 여러가지 비교연산자를 관계 연산자를 통해 중복할 수 있다.
2. IN() BETWEEN LIKE
- 관계 연산자를 편하게 쓰기위해 존재한다.
- IN: WHERE color IN (‘빨강’,’파랑’,’노랑’) 위 조건들중 포함이 되는가?
- BETWEEN: WHERE height BETWEEN 170 AND 180 (작은값 and 큰값 순) ; 위 조건 사이에 해당되는가?
- LIKE: WHERE name LIKE ‘_종신’ , WHERE name LIKE ‘김%’ 해당 조건 범위에 해당되는가?
3. SUBQUERY
-query안의 query 값을 지정하기위해 쓰는 쿼리
- WHERE age = (SELECT age FROM employees WHERE name = ‘정희’)
4.ANY,SOME 와 ALL
-subquery안의 값이 여러 개일 경우 쓰임
- ALL = AND , ANY SOME = OR
- WHERE age = ALL (SELECT age FROM employees WHERE age BETWEEN 20 AND 30 )
EX: SELECT age, height FROM employees WHERE age = 29;
주의:
- DateTime 형식의 데이터의 경우엔 '2022/01/01'의 형식으로 값을 비교연산자로 비교한다.
- EX:SELECT * FROM user_info Where joined < '2022/01/01' ;
ORDER BY 절:
정의: select로 나온 절을 column의 값을 기준으로 정렬한다.
-DESC는 내림차순 ASC(디폴트)는 오름차순
-이중 정렬도 가능하지만 앞의 조건 먼저 뒤의 조건은 정렬 후 같은 값만
- 절 중에선 가장 후에 나온다.
EX: SELECT name,age,height FROM employees ORDER BY age DESC, height ASC;
DISTINCT
정의: select로 나열한 값중 column에 중복된 값이 존재할 경우 구별하여 하나만 나열한다.
EX: SELECT DISTINCT name FROM employees;
LIMIT
정의: select로 나열한 값 중 전부가 아닌 일정 범위의 rows만 추려내어 나열한다.
LIMIT 시작, 개수 or LIMIT 개수 OFFSET 시작
EX SELECT name, age FROM employees ORDER BY age LIMIT 10, 20;
GROUPBY
정의: SELECT로 나열한 열 값들 중 중복되는 값을 group화 하여 집계함수로 처리한다.
1. 집계함수:
-SUM,AVG,MAX,MIN,COUNT등이 존재한다.
-group된 값들 혹은 전체 값의 특정 columns값들을 특정 기능으로 처리한다.
-COUNT의 경우엔 NULL이 아닌 값들의 row수를 모두 센다.
Ex: SELECT SUM(price*amount) AS ‘총매출량’ FROM costomertable GROUP BY name;
HAVING과 ROLLUP
정의:
-HAVING: where의 경우엔 집계함수를 조건에 포함시키지 못한다.
이 경우에 HAVING으로 조건절을 작성한다.
ORDER BY는 정상적으로 집계함수를 조건에 포함 가능하다.
-ROLLUP: GROUP BY로 집계를 할 경우에 전체값이 아닌 중간 합계를 보기 위해 쓰인다.
EX: SELECT name FROM costomertable
GROUP BY name
HAVING SUM(price * amount) > 100000
ORDER BY SUM(price * amount) DESC
WITH ROLLUP;
ETC
1.단주석 은 -- , 여러열 주석은 /* */로
'공부 > SQL' 카테고리의 다른 글
3.24 SQL 추가 공부 (0) | 2023.03.24 |
---|---|
3-21. SQL 추가 지식 공부 (1) | 2023.03.21 |
4. DATE 관련 구문 & round (0) | 2023.03.20 |
3. JOIN과 REGEXP(정규 표현식) (0) | 2023.03.17 |
3-16 2. IF 구문과 CASE 구문 (0) | 2023.03.16 |