테이블에 있는 모든 데이터를 불러온다.
테이블 안에 해당하는 컬럼의 데이터들만 갖고온다.
테이블 안에 해당하는 컬럼의 데이터들을 갯수 만큼 가져온다.
(무턱대고 limit을 안쓰고 많은 데이터를 가져오면 어마어마한 시간이 걸리기 때문에 보통 데이터 구조를 빠르게 파악하기 위해서는 limit를 사용한다)
SELECT, FROM, LIMIT등 SQL에서 미리 설정해 놓은 문법을 위한 예약어들은 대문자로 쓰고
나머지 문자들은 소문자로 많이 쓴다.
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에서도 위와같이 논리연산자가 사용 가능하다.
특정문자 포함 검색 기능이다.
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글자를 가지고 있는 데이터만 추출
여러가지 검색 결과를 통틀어서 보고 싶을 때
SELECT * FROM Customers WHERE Country='Germany' OR Country='Korea'
이것을
SELECT * FROM Customers WHERE Country IN ('Germany', 'Korea')
이렇게 바꿔쓸 수 있다.
SELECT * FROM Customers WHERE CustomerID >=3 AND CusomerID <=5
이것을
SELECT * FROM Customers WHERE CustomerID BETWEEN 3 AND 5
로 바꿔쓸 수 있다.
SELECT * FROM Customers WHERE CustomerID IS NULL
Django 의 Distinct와 똑같은 역할을 한다!
중복값제거!!
대신 sql에서는 SELECT 바로 뒤에 쓴다.