TIL98. SQL 기초

Jaeyeon·2021년 5월 8일
0

SELECT * FROM 테이블명

테이블에 있는 모든 데이터를 불러온다.

SELECT column명 FROM 테이블명

테이블 안에 해당하는 컬럼의 데이터들만 갖고온다.

SELECT column명 FROM 테이블명 LIMIT 갯수

테이블 안에 해당하는 컬럼의 데이터들을 갯수 만큼 가져온다.
(무턱대고 limit을 안쓰고 많은 데이터를 가져오면 어마어마한 시간이 걸리기 때문에 보통 데이터 구조를 빠르게 파악하기 위해서는 limit를 사용한다)

SQL 규약

SELECT, FROM, LIMIT등 SQL에서 미리 설정해 놓은 문법을 위한 예약어들은 대문자로 쓰고
나머지 문자들은 소문자로 많이 쓴다.

WHERE 절

Django의 Q객체와 비슷하다.
특정 조건을 만족하는 데이터만 추출한다.

SELECT * FROM Customers WHERE CustomerID < 50
SELECT * FROM Customers WHERE CustomerName < "B"

Customer 테이블에서 Customer의 이름이 A로 시작하는 사람들만 데이터 추출

SELECT * FROM Customers WHERE CustomerName < "B" AND Country = 'Germany'
SELECT * FROM Customers WHERE CustomerName < "B" OR Country = 'Germany'

SQL에서도 위와같이 논리연산자가 사용 가능하다.

Like

특정문자 포함 검색 기능이다.
Python의 in 같은 느낌!

SELECT * FROM Customers WHERE country LIKE 'Br%'

Customers 중에 국가가 Br로 시작하는 데이터를 추출 하고 싶다.

SELECT * FROM Customers WHERE country LIKE '%r%'

Customers 테이블 중에 국가 이름에 r이 들어가 있는 데이터를 추출하고 싶다.

SELECT * FROM Customers WHERE country LIKE 'B_____'

B 뒤에 5글자를 가지고 있는 데이터만 추출

IN

여러가지 검색 결과를 통틀어서 보고 싶을 때

SELECT * FROM Customers WHERE Country='Germany' OR Country='Korea'

이것을

SELECT * FROM Customers WHERE Country IN ('Germany', 'Korea') 

이렇게 바꿔쓸 수 있다.

BETWEEN AND

SELECT * FROM Customers WHERE CustomerID >=3 AND CusomerID <=5 

이것을

SELECT * FROM Customers WHERE CustomerID BETWEEN 3 AND 5

로 바꿔쓸 수 있다.

IS NULL

SELECT * FROM Customers WHERE CustomerID IS NULL

DISTINCT

Django 의 Distinct와 똑같은 역할을 한다!
중복값제거!!
대신 sql에서는 SELECT 바로 뒤에 쓴다.

profile
생각하는 개발자 되기

0개의 댓글