강의 컨설팅 트레이닝 무료진단 무료책자 마케팅편지 마케팅정보공유 다이어리 서비스제휴 고객센터

:: WHERE 절 ::
작성자 : 13 김영철
등록날짜 : 2009.01.24 23:09
2,803

1. WHERE 절 이란?

바로 앞의 강좌에서 간단한 WHERE절의 사용 예를 보았습니다. WHERE절은 특정 조건을 만족하는 대상을 검색하고자 할 때 그 조건을 지정하는데 사용합니다. 아래의 예(앞의 강좌에서 본 예입니다)는 titles 테이블에서 모든 컬럼을 검색하되 title_id가 'PS2091'인 것만을 검색하게 됩니다.

USE Pubs
GO

SELECT * FROM titles WHERE title_id = 'PS2091'

이렇듯 WHERE 다음에 원하는 조건문을 지정하여 검색의 대상을 설정할 수 있습니다.

2. WHERE 절의 예

몇가지 예제를 봐 가면서 WHERE 절의 사용 방법을 확인해보도록 하겠습니다.

[예제1]

가장 단순한 사용 방법은 컬럼 = '값' 의 형식으로 컬럼이 만족할 값을 지정하는 것입니다. 다음의 예는 qty 컬럼이 40보다 큰, 즉 qty > 40 의 조건을 만족하는 대상을 검색하는 예입니다.

USE Pubs
GO

SELECT * FROM sales WHERE qty > 40

[예제2]

만족할 조건이 하나가 아니고 여러개인 경우 'AND' 와 'OR' 를 적절히 사용하여 지정할 수 있습니다. 다음의 예는 qty 가 20보다 크거나 같고 또한 qty 가 40 보다 작거나 같은 조건을 만족하는 대상을 검색하는 예입니다.

USE Pubs
GO

SELECT * FROM sales WHERE qty >= 20 AND qty <= 40

참고로 위 쿼리문은 다음과 같이 BETWEEN 을 사용하여 작성 할 수도 있습니다. 실제 쿼리가 수행될 때는 바로위의 쿼리문처럼 분석되어 수행됩니다. 결과는 같습니다.

USE Pubs
GO

SELECT * FROM sales WHERE qty BETWEEN 20 AND 40

[예제3]

다음의 예는 OR를 사용하여 두개의 조건중 하나만 만족하는 경우 참이 되어 조건을 만족하는 예입니다.

USE Pubs
GO

SELECT * FROM sales WHERE qty > 30 OR ord_num = '6871'

[예제4]

WHERE 절에 순수한 컬럼만 오라는 법은 없습니다. 다음의 예는 datetime 형태의 컬럼인 ord_date에서 년도만을 구하여 년도가 1994인 대상만을 검색하는 것입니다. 이때 year() 함수가 사용되었는데, 이 함수는 Date에서 년도만을 얻어내는 함수입니다.

USE Pubs
GO

SELECT * FROM sales WHERE year(ord_date) = 1994

[예제5]

서브 쿼리를 WHERE 절에 사용할 수 있습니다. 서브 쿼리에 대해서는 나중에 자세히 살펴보도록 하겠습니다. 여기서는 다양한 WHERE 절의 사용 가능성만을 확인해보시기 바랍니다. 다음의 예는 qty가 최대값인 경우는 검색하는 것입니다.

USE Pubs
GO

SELECT * FROM sales WHERE qty = (SELECT MAX(qty) FROM sales)

3. 정리

정확한 WHERE 절의 사용은 정확한 데이터를 검색하기 위한 필수요소 입니다. 또한 어떻게 WHERE 문을 사용하느냐에 따라 검색의 속도가 차이가 날 수 있습니다. 기초강좌에서 다루었던 인덱스(Index)의 경우 WHERE 절의 조건을 만족하는 대상을 빠르게 찾기 위해서 필수적으로 고려되어야 할 사항입니다. 즉, 데이터의 검색은 정확하게! 빠르게! 이루어져야 하며 이를 위하여 WHERE 절과 인덱스(Index)를 우리는 심사 숙고해서 사용해야 합니다.

--------------------------------------------------------------------------------------------

출처 : http://www.sqlworld.pe.kr

 

"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기,
각종 광고, 영업, 판매, 제안서, 전단지
반응율 3배×10배 이상 높이는 마법의 8단계 공식"
자세히보기

Comments

번호 제목 글쓴이 날짜 조회
2715 MySQL 에서 사용되는 sql문 정리 M 최고의하루 12.19 2743
2714 [ MySQL ] MySQL 기본적으로 익혀야할 과제 M 최고의하루 12.18 2501
2713 [ MySQL ] MySql4.x / PHP4.x / Apache 한글깨짐 M 최고의하루 12.18 3257
2712 [ MySQL ] MySQL 5 한글 UTF8 한글 깨짐 분석 (Windows 용) M 최고의하루 12.04 5731
2711 MySQL 명령어 정리 M 최고의하루 12.04 2388
2710 MSSQL 페이징 13 김영철 01.24 2487
2709 mssql 암호화 13 김영철 01.24 2487
2708 mysql과 mssql의 변환시 유의사항 13 김영철 01.24 2673
2707 mssql 백업방법 13 김영철 01.24 2773
2706 데이터 정보 확인방법 13 김영철 01.24 2355
2705 MS-SQL JDBC "ResultSet Can Not Re-Read Row Data" 예외 처리 방법 13 김영철 01.24 3284
2704 IDENTITY 속성 13 김영철 01.24 2160
2703 Jsp + Mssql Long타입 데이타 사용시 문제점 13 김영철 01.24 2764
2702 PWDENCRYPT와 PWDCOMPARE를 통해 암호화 기능 13 김영철 01.24 3471
2701 MSSQL 기본값 13 김영철 01.24 3037
2700 :: 데이터베이스의 종류 :: 13 김영철 01.24 2350
2699 :: 데이터베이스의 객체 :: 13 김영철 01.24 2635
2698 :: Transact-SQL 이란 :: 13 김영철 01.24 2886
2697 :: 단순 SELECT 문 :: 13 김영철 01.24 2368
열람중 :: WHERE 절 :: 13 김영철 01.24 2804
2695 :: ORDER BY, GROUP BY :: 13 김영철 01.24 2479
2694 :: 조인(Join) 이란? :: 13 김영철 01.24 2182
2693 :: 조인(Join)의 사용 예 :: 13 김영철 01.24 2343
2692 :: SELECT INTO 와 INSERT INTO :: 13 김영철 01.24 2576
2691 :: 데이터베이스의 구조 :: 13 김영철 01.24 2307
2690 :: 데이터베이스 생성 :: 13 김영철 01.24 2113
2689 :: 데이터 무결성 :: [출처] :: 데이터 무결성 :: (쇼핑몰 대박못내는 진짜이유!) |작성자 프런티어 13 김영철 01.24 3177
2688 :: 인덱스(Index) :: 13 김영철 01.24 2091
2687 :: 뷰(View) :: 13 김영철 01.24 2817
2686 :: 저장프로시저 (Stored Procedure) :: 13 김영철 01.24 2784
마케팅
특별 마케팅자료
다운로드 마케팅자료
창업,경영
기획,카피,상품전략
동기부여,성취