반응형
250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 코딩
- 코딩공부
- HTML
- 런던
- 나혼자코딩
- 경사하강법
- for반복문
- 머신러닝
- 영국석사
- 다항회귀
- 윈도우함수
- 코드잇 TIL
- 선형회귀
- 행렬
- 데이터분석
- 로지스틱회귀
- CSS
- 코딩독학
- numpy
- 판다스
- SQL
- sql연습문제
- 코드잇
- 파이썬
- 코드잇TIL
- matplotlib
- 오늘도코드잇
- 결정트리
- Seaborn
- 유학생
Archives
- Today
- Total
영국 척척석사 유학생 일기장👩🏻🎓
(SQL) SELECT, FROM, ORDER BY, WHERE 등 기본 개념 정리 본문
728x90
반응형
1) SELECT & FROM
- SELECT : 데이터를 받을 열
- FROM : 열을 선택하려는 테이블 지정
- 테이블의 모든 열에 있는 데이터를 제공받으려면 * 사용
SELECT *
FROM orders
2) LIMIT
- LIMIT : 테이블의 처음 몇 행만 보고 싶을 때 유용
- 전체 데이터 불러오는 것 보다 속도 훨씬 빠름
- 항상 쿼리의 맨 마지막 부분
SELECT *
FROM orders
LIMIT 10; (처음 10개의 행만 표시)
3) ORDER BY
- 모든 열의 데이터를 사용하여 결과를 정렬
- SELECT, FROM 뒤 LIMIT 앞
- 기본값은 오름차순/ ORDER BY 뒤에 DESC 추가 시 내림차순 정렬
SELECT *
FROM orders
ORDER BY occurred_at
LIMIT 1000;
- 한 번에 두 개 이상의 열을 정렬 가능/ 맨 왼쪽 열 부터 차례대로 정렬
SELECT account_id, total_amt_usd
FROM orders
ORDER BY total_amt_usd DESC, account_id
4) WHERE
- 충족되어야 하는 조건에 따라 테이블의 하위 세트를 표시/ 데이터 필터링
- Comparison Operators (비교 연산자) : >, <, >=, <=, = , !=(같지 않음)
SELECT *
FROM orders
WHERE account_id = 4251
ORDER BY occurred_at (굳이 정렬 안해도 됨)
LIMIT 1000;
- 숫자가 아닌 데이터에서 = 및 ! = 연산자 사용/ 작은 따옴표 사용
SELECT *
FROM accounts
WHERE name != ‘United Technologies’
- Arithmetic Operators (산술 연산자) : *, +, - / ⇒ Derived Column(파생 열) 생성 가능
- AS 를 사용하여 새 열의 이름을 지정
SELECT id, (standard_amt_usd/total_amt_usd)*100 AS std_percent. total_amt_usd
FROM orders
LIMIT 10;
5) 논리 연산자 : LIKE, IN, NOT, AND, BETWEEN, OR
- LIKE : WHERE 및 = 를 사용하는 것과 유사한 연산을 수행하지만 찾고 있는 내용을 정확히 모를 경우 사용
- 텍스트 작업에 매우 유용, %(특정 문자 집합으로 시작하거나 뒤에 오는 임의의 수나 문자) 와 함께 사용
SELECT *
FROM accounts
WHERE website LIKE ‘%google%’;
- IN : WHERE 및 = 를 사용하는 것과 유사한 연산 수행하지만 둘 이상의 조건에 대해 수행 가능
- 숫자 열과 텍스트 열 모두 유용 (텍스트는 따옴표 사용하기)
- 데이터를 가져오려는 열 값을 동일 쿼리 내에서 여러개 확인 가능
SELECT *
FROM orders
WHERE account_id IN (1001, 1021);
- NOT : IN 및 LIKE 와 함께 사용되어 특정 조건을 충족하지 않는 NOT LIKE 또는 NOT IN인 행을 모두 선택
SELECT sales_rep_id, name
FROM accounts
WHERE sales_rep_id NOT IN (321500, 321570)
ORDER BY sales_rep_id;
SELECT *
FROM accounts
WHERE website NOT LIKE ‘%com%’;
- AND : WHERE 문에서 한 번에 둘 이상의 논리 절을 고려
- AND를 사용하여 새 명령문을 연결할 때마다 보려는 열을 지정해야 함
- 산술 연산자(+, *, -, /)를 포함해 모든 연산(LIKE, IN, NOT) 과 함께 연동
SELECT *
FROM orders
WHERE occurred_at >= ‘2016-04-01’ AND occurred_at <= ‘2016-10-01’
ORDER BY occurred_at;
- BETWEEN : AND 보다 더 깔끔한 문장 사용 가능, 특히 동일한 열 사용 할 때
WHERE column >= 6 AND column <= 10
⇒ WHERE column BETWEEN 6 AND 10 (양 끝값 포함)
SELECT *
FROM orders
WHERE occurred_at BETWEEN ‘2016-04-01’ AND ‘2016-10-01’
ORDER BY occurred_at;
- OR : 결합된 조건 중 하나 이상이 true여야 하는 연산 결합
- AND와 유사하게 여러 문 결합 가능, 새 명령문을 연결할 때마다 보려는 열을 지정해야 함
- 산술 연산자(+, *, -, /)를 포함해 모든 연산(LIKE, IN, NOT, AND, BETWEEN) 과 함께 연동
- 여러 개 결합할 때 수행하려는 논리가 올바르게 실행되고 있는지 확인하기 위해 종종 괄호(parentheses) 사용
SELECT *
FROM orders
WHERE (standard_qty = 0 OR gloss_qty = 0 OR poster_qty = 0)
AND occurred_at = ‘2016-10-01’;
728x90
반응형
'코딩공부 > SQL' 카테고리의 다른 글
(SQL) 여러 열 GROUP BY로 정렬하고 ORDER BY로 나열하기 (0) | 2024.05.11 |
---|---|
(SQL) GROUP BY 개념 및 연습문제 (0) | 2024.05.10 |
(SQL) MIN, MAX, AVG 개념 및 연습문제 (0) | 2024.05.10 |
(SQL) NULL, COUNT, SUM 개념 및 연습문제 (0) | 2024.05.09 |
(SQL) JOIN, LEFT JOIN, RIGHT JOIN 정리 및 연습문제 (0) | 2024.05.09 |