본문 바로가기
SQL

SQL WHERE 구문

by 진격의 파파 2013. 8. 13.
반응형

 

 

SQL에서 WHERE 구문은 어떤 조건을 검색하는데 사용합니다.  

인터넷 서핑을 하다보면 보통 내가 보고 싶은 또는 찾고 싶은 내용을 가져올때 여러분들은 검색이라는 방법을 사용합니다. 그때  WHERE  구문을 이용해 검색을 하게됩니다. 물론 포털사이트등의 검색조건은 매우 복잡하게(테이블조인, 조건문등) 짜여져 있겠지만 기본은 WHERE 구문이라는 것을 알아두시기 바랍니다.

 

id

 user_id

 user_pwd

 name

 age

 phone

 email

 1

 test1

 1111

 홍길동

 25

 010-1111-1111

 test1@test.com

 2

 test2

 2222

 임꺽정

 45

 010-2222-2222

 test2@test.com 

 3

 test3

 3333

 이철수

 34

 010-3333-3333

 test3@test.com

 4

 test4

 4444

 김영희

 28

 010-4444-4444

 test4@test.com

 5

 test5

 5555

 김철수

 34

 010-5555-5555

 test5@test.com

 6

 test6

 6666

 박영희

 54

 010-6666-6666

 test6@test.com

 7

 test7

 7777

 이순신

 32

 010-7777-7777

 test7@test.com

 8

 test8

 8888

 이해신

 23

 010-8888-8888

 test8@test.com

 9

 test9

 9999

 박찬호

 39

 010-9999-9999

 test9@test.com

 

위와 같이 회원(member) 테이블이 있다고 가정해봅시다.

1. 나이(age)가 34살인 사람을 검색 할 경우

select * from member where age = 34;

// 기본구문은 테이블 이름뒤에 where 구문을 적고 그뒤 조건문(age = 34)을 작성합니다.

// 중요한것이 대부분의 데이터베이스는 테이블에서 age 칼럼의 형식이 숫자(int)면 따옴표(') 없이 작성해도 무방하며, 문자(varchar, char) 형식이라면 따옴표(')가 들어가야 합니다.

 

 

2. 이름이 박씨인 사람만 검색 할 경우

select * from member where name like '박%';

// 마찬가지로 기본 형식은 같지만 뒤의 조건문이 "=" 이 아니고 "like" 로 되어있습니다.

// "like" 는 해당하는 단어를 포함하는 내용을 모두 검색합니다.

// like 형식은 "%박", "박%", "%박%" 이렇게 총 3개의 조건을 사용할 수 있습니다.

// "%박" 의 의미는 내용중 "박"으로 끝나는 구문을 검색하며

// "박%" 의 의미는 내용중 "박"으로 시작하는 구문을 검색하며

// "%박%" 의 의미는 내용중 "박"이 포함되어있는 구문을 검색합니다.

 

 

3. 나이가 30살 이상인 사람을 검색할 경우

select * from member where age >= 30;

// 어떤 내용에 대해서 이상, 이하, 초과, 미만 등을 검색할 경우 부등호(>=, <=, >, <)를 써서 나타냅니다.

 

 

4. 나이가 30살 이상 40살 이하인 사람을 검색할 경우

select * from member where age >= 30 and age <= 40;

select * from member where between 30 and 40;

// 이렇게 두 가지 방법이 존재합니다. 부등호 구문은 아마도 3번을 이해하셨으면 바로 알지 않을까 싶고 문제는(?) between 구문인데 between A and B 이렇게 사용합니다. 일단 외워두시기 바랍니다.

 

 

5. 나이(age)가 34살이 아닌 사람을 검색 할 경우

select * from member where age <> 34;

// 어떤 내용을 빼고 값을 가져올 경우 "<>" 를 사용합니다. 즉 "age <> 34" 는 "age 칼럼중 34가 아닌" 이라는 뜻입니다.

 

 

6. 김영희, 박영희를 두명을 동시에 검색 할 경우

select * from member where name in ('김영희' , '박영희');

// 문자가 들어갔으니 따옴표(')를 써서 감싸주며, "in"이라는 구문을 사용하여 두명의 이름을 써줍니다.

 

 

이렇게 where 구문을 이용하여 여러가지 방식으로 검색을 할 수 있습니다. 기본적인 내용이지만 기초를 철저히 익히면 응용하는것은 시간문제라고 생각합니다.

다음 포스팅에서는 SQL AND , OR 구문에 대해서 설명하겠습니다.

그럼 오늘도 즐거운 하루 보내시고 즐프되시길 바랍니다. ^^

반응형

'SQL' 카테고리의 다른 글

SQL ORDER BY 구문  (0) 2013.08.15
SQL AND OR 구문  (0) 2013.08.14
SQL SELECT DISTINCT 구문  (2) 2013.08.12
SQL Select 구문  (0) 2013.08.09
SQL 기본 구문  (0) 2013.08.08