일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- BFS
- 다이나믹 프로그래밍
- DP
- 리트코드
- git
- Python
- VIM
- 그레이들
- CS
- react
- frontend
- 동적 계획법
- 알고리즘
- Data Structure
- DFS
- 백준
- Javascript
- Algorithm
- Database
- LeetCode
- Redux
- TypeScript
- java
- Graph
- db
- 자바
- 안드로이드
- 프로그래머스
- network
- vscode
- Today
- Total
늘 겸손하게
SQL - 자주 쓰이는 SQL 구문 본문
SQL 작성 유의점
- SQL 구문은 대소문자를 구별하지 않는다. ( select == SELECT == Select == SELect)
- 데이버베이스 시스템에 따라서 SQL 구문 마지막에 세미콜론(;)을 요구할수도 있다. 혹시 모르니 다 붙이자
목차
SELECT
SELECT 구문은 데이터베이스에서 데이터를 선택하기 위한 구문.
반환된 데이터는 result-set으로 불리는 result 테이블에 저장된다.
예제
- Customer 테이블의 모든 column을 가져오려면?
SELECT * FROM Customer
- Customer 테이블의 City column을 가져오려면?
SELECT City FROM Customer
- Country column에서 중복되지 않는값을 가져오려면? ( DISTINCT )
SELECT DISTINCT Country FROM Customer
- 테이블에서 인구가 가장 많은 City를 선택하려면? ( Limit )
SELECT City FROM Customer
ORDER BY Population DESC
LIMIT 1;
// ORDER BY는 디폴트로 오름차순이므로 DESC를 붙여야 내림차순 정렬이됨
WHERE
WHERE는 필터링을 위한 절입니다.
주어진 조건을 만족하는 기록을 추출하기 위해 사용됩니다.
예제
- City column의 값이 "Berlin"인 column을 추출하려면?
SELECT * FROM Customer
WHERE City = "Berlin";
- City column의 값이 "Berlin"이 아닌 column을 추출하려면? (NOT)
SELECT * FROM Customer
WHERE NOT City = "Berlin";
- City column값이 "Berlin"이고 PostalCode값이 12209인 column을 추출하려면? ( AND )
SELECT * FROM Customer
WHERE City = "Berlin"
AND PostalCode = 12209;
- City column값이 "Berlin" 혹은 "London"인 column을 추출하려면? ( OR )
SELECT * FROM Customer
WHERE City = "Berlin"
OR City = "London";
ORDER BY
ORDER BY 키워드는 result-set을 오름차순 혹은 내림차순으로 정렬시키기 위해 사용됩니다.
디폴트로 오름차순 정렬이므로 내림차순 정렬을 위해서는 DESC 키워드를 사용합니다.
예제
- Customer 테이블의 모든 기록을 선택하고, City column을 기준으로 알파벳순으로 정렬하려면?
SELECT * FROM Customer
ORDER BY City;
- 위 결과를 역순으로 정렬하기 위해서는?
SELECT * FROM Customer
ORDER BY City DESC;
- Customer 테이블의 모든 기록을 선택하고, Country column을 기준으로 정렬하고 City column을 기준으로 정렬하기 위해서는?
SELECT * FROM Customer
ORDER BY Country, City;
DELETE
테이블에 존재하는 기록을 지우기 위한 구문. WHERE절과 결합하여 특정 기록을 지울 수 있다.
예제
- Customer 테이블에서 Country 값이 'Norway'인 모든 기록을 삭제하려면?
DELETE FROM Customer
WHERE Country = 'Norway';
- Customer 테이블의 모든 기록을 삭제하려면?
DELETE FROM Customer;
UPDATE
UPDATE 구문은 테이블의 기록 수정을 위해 사용
주의할점은 WHERE절을 생략하면 테이블의 모든 기록이 수정됨
예제
- Customer 테이블의 모든 City column을 Seoul로 업데이트하려면?
UPDATE Customer
SET City = "Seoul";
- Country column값이 "Norway"인 행의 City column값만을 'Oslo'로 수정하려면?
UPDATE Customer
SET City = "Oslo"
WHERE City = "Norway";
MIN, MAX, SUM, COUNT, AVG
MIN () : 선택한 column에서 가장 작은 값을 반환한다
MAX () : 선택한 column에서 가장 큰 값을 반환한다
SUM () : 선택한 column의 값들의 합을 반환한다
COUNT () : 선택한 column 값의 개수를 반환한다
AVG () : 선택한 column 값들의 평균을 반환한다
예제
- Products 테이블에서 Price가 가장 낮은 기록을 찾으려면?
SELECT MIN(Price)
FROM Products;
- Products 테이블에서 Price가 가장 큰 기록을 찾으려면?
SELECT MAX(Price)
FROM Products;
- Products 테이블에서 Price column의 모든 값의 합은?
SELECT SUM(Price)
FROM Products;
- Products 테이블에서 상품 이름의 개수는? 단, 중복되는 이름은 하나로 치고 NULL은 제외합니다.
SELECT COUNT(DISTINCT Name) FROM Products
WHERE Name IS NOT NULL;
출처 :
https://www.w3schools.com/sql/
SQL Tutorial
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
www.w3schools.com
https://school.programmers.co.kr/learn/challenges?tab=sql_practice_kit
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr