728x90
desc 테이블명 -- 각 칼럼과 어떤 데이터 형태인지 알려줌
SELECT (DISTINCT) 칼럼명
FROM 테이블명
WHERE 조건문
조건을 여러개 달기
SELECT *
FROM table
-- WHERE age BETWEEN 20 AND 30;
-- WHERE dept (NOT) IN ('HR','MARKETING','MANAGEMENT')
-- WHERE (first_name = 'KON' or first_name = 'JOHN') and gender='M' and hire_date != '1986-06-26';
LIKE
SELECT *
FROM table
WHERE name LIKE '%word%'
ORDER BY
SELECT *
FROM people
ORDER BY age DESC;
INSERT
INSERT INTO 테이블명(col1, col2, col3) -- 굳이 안 넣을 거면 순서를 잘 맞춰서 넣어줘야함
VALUES(v1, v2, v3)
UPDATE
UPDATE 테이블명
SET col1 = '바꿀 데이터' -- 미래
WHERE 탐색
DELETE
DELETE
FROM table
WHERE 조건;
LIMIT
SELECT *
FROM table
LIMIT 5;
COUNT, SUM, AVG, MAX, MIN
SELECT SUM(col) -- SUM 대신 AVG, MAX, MIN 가능하다
FROM 테이블명
GROUP BY와 HAVING
SELECT MAX(wage)
FROM 테이블
GROUP BY name
HAVING age>25;
JOIN(INNER, LEFT, RIGHT)
SELECT *
FROM A
INNER JOIN B -- INNER 대신 RIGHT이나 LEFT도 가능
ON A.id = B.id;
서브쿼리
SELECT에서 쓸 수도 있고, WHERE에서 쓸 수도 있다.
서브쿼리 내에서는 ORDER BY를 쓸 수 없다.
한 행, 한 칼럼짜리 값을 반환하는 쿼리를 스칼라 서브쿼리라고 한다.
WHERE에서 쓰는 건 단일 행, 다중 행으로 구분할 수 있다.
-- 평균보다 나이가 많은 사람들의 월급 평균 구하기
SELECT AVG(salary)
FROM table
WHERE age > ( SELECT AVG(age) from table)
SELECT distinct emp_no, (
SELECT AVG(salary)
from salaries as A
where A.emp_no = B.emp_no) as avg_salary
from salaries as B;
728x90
'교육, 대외활동, 봉사 > 엘리스 AI 트랙 2기' 카테고리의 다른 글
[엘리스] 엘리스에서의 첫 프로젝트 (0) | 2021.09.11 |
---|---|
[엘리스 AI 트랙 2기] Day 18~20 - ORM과 Flask (12) | 2021.07.18 |
[엘리스 AI 트랙 2기] Day 16 - flask, sql (0) | 2021.07.12 |
[엘리스 AI 트랙 2기] Day 15 - 모바일 웹페이지 (0) | 2021.07.11 |
[엘리스 AI 트랙 2기] Day 14 - 자바스크립트 (0) | 2021.07.11 |
댓글