SQL 문 SELECT 기본 .. 1

학부 때 DB 수업 듣고 나서 이 걸 들여다 본거니 ... 이게 몇년 만인거지 ;;

기본 적인 문법 

SELECT * FROM [테이블이름]
WHERE [컬럼명] = [조건]

e.g.

SELECT * FROM my_contacts
WHERE  location = 'Seoul'

이러면 location 이 서울인 사람에 대한 모든 컬럼들이 다 나오겠지 ...

그래서 이름과 이메일만 나오게 하려면 다음과 같이 수정 ..

SELECT name, email FROM my_contacts
WHERE  location = 'Seoul'

이러면 location 이 서울인 사람의 이름과 이메일만 나옴.

WHERE 절은 
1. =, <>, <, >, <=, >= 와 같은 비교 연산이 가능.
2. AND, OR 와 같은 논리 연산이 가능.
3. IS NULL 을 이용해 컬럼에 해당하는 값이 NULL인지 비교 할 수 있음.
4. LIKE를 이용해서 문자의 일부만으로 일치하는 결과를 찾을 수 있다. (와일드 카드는 %(모든문자와 매치, 마치 *와 같음)와 _(한문자와 매치, 마치 ?와 같은) 가 있음)
    e.g. location이 '금천구, 서울' 일 때 WHERE location LIKE '%서울' 이라고 해도 '금천구, 서울'이 검색이 된다.
5. WHERE age >= 20 AND age <= 30은 WHERE BETWEEN 20 AND 30 과 같이 표현가능하다. 
    (문자도 가능하다. WHERE name BETWEEN 'K' AND 'X' --> 이름의 첫글자가 K ~ X 로 시작되는 것들을 찾아줌)
6. OR이 여러번 오면 IN을 사용할 수 있음
    e.g WHERE rating = 'innovative' OR 'fabulous' OR ....;
         --> WHERE rating IN ('innovative', 'fabulous', 'delightful');
7. NOT을 사용할 수 있음 (위치가 중요 WHERE, AND, OR 바로 뒤에 와야 함.)
    e.g. SELECT drink_name FROM drink_info
           WHERE NOT carbs BETWEEN 3 AND 5;

           SELECT date_name FROM black_book
           WHERE NOT date_name LIKE 'A%'
           AND NOT date_name LIKE 'B%';

           SELECT * FROM easy_drinks
           WHERE NOT main IN ('soda', 'iced tea');   < == >  WHERE main NOT IN ('soda', 'iced tea');

주로 쓰게 될 문은 사실 SELECT 이니 이정도만 정리해도 될 듯 ~~