위치(SQL)

Where (SQL)

A WHERESQL의 절은 SQL DML(Data Manufaction Language) 문이 지정된 기준을 충족하는 에만 영향을 주어야 한다고 명시한다.그 기준은 술어의 형태로 표현된다.nullWHERE절은 SQL DML 문의 필수 절은 아니지만 SQL DML 문의 영향을 받거나 쿼리에 의해 반환되는 행의 수를 제한하는 데 사용할 수 있다.간략한 SQL WHERE 절은 다음과 같은 SQL 문에서 결과만 추출하는 데 사용된다.SELECT,INSERT,UPDATE또는DELETE명세서[1]

개요

WHERESQL 예약어 입니다.null

WHERE절은 SQL DML 문과 함께 사용되며 다음과 같은 일반적인 형식을 취한다.

SQL-DML-성명서 From table_name  어디에 술어를 붙이다 

의 술어가 가리키는 모든 행WHEREtrue 절은 SQL DML 문 또는 쿼리에 의해 영향을 받거나 반환된다.술어가 거짓 또는 알 수 없음(NULL)으로 평가하는 행은 DML 문 또는 쿼리의 영향을 받지 않는다.null

다음 쿼리는 mycol 값이 100보다 큰 테이블 mytable의 행만 반환한다.null

선택 * From   마이테이블 어디에  mycol > 100 

다음 문장은 열 mycol이 NULL이거나 값이 100인 테이블 mytable에서 행만 제거한다.null

삭제 From   마이테이블 어디에  mycol IS NULL OR mycol = 100 

술어

간단한 술어는 연산자 중 하나를 사용한다.=,<>,>,>=,<,<=,IN,BETWEEN,LIKE,IS NULL또는IS NOT NULL.

술어는 원하는 경우 괄호로 묶을 수 있다.키워드AND그리고OR두 술어를 새로운 술어로 결합하는 데 사용될 수 있다.여러 조합을 적용할 경우 괄호를 사용하여 그룹 조합을 만들어 평가 순서를 나타낼 수 있다.괄호 없이AND연산자는 다음과 같은 강한 구속력을 가지고 있다.OR.

다음 예제는 mycol 값이 100보다 크고 항목의 값이 문자열 리터럴 'Hammer'와 동일한 mytable에서 행을 삭제한다.

삭제 From   마이테이블 어디에  mycol > 100 AND 항목 = '해머' 

IN후보군에 존재하는 어떤 가치도 발견할 수 있을 것이다.null

선택 에나메 어디에 에나메  ('몬트리얼', '큐벡') 

값이 후보 값 집합 중 하나일 경우 모든 행이 술어와 일치한다.이것은 와 같은 행동이다.

선택 에나메 어디에 에나메='값1' OR 에나메='값2' 

후자가 여러 개의 열을 비교할 수 있다는 것을 제외하고, 각 열은 다음과 같다.IN조항은 그렇지 않다.더 많은 후보자들의 경우,IN장황하지 않다.null

사이

BETWEEN범위 내에서 값을 찾을 수 있다.null

선택 에나메 어디에 에나메 사이 '값1' AND '값2' 
선택 봉급 로부터 폐기하다 어디에 봉급 사이 5000 AND 10000 

값이 'value1'과 'value2' 사이에 있으면 모든 행이 술어와 일치한다.null

맘에 들다

LIKE어떤 설명에 맞는 끈을 찾을 수 있을 겁니다null

  • 엔딩 와일드카드
    • 문자 'S'로 시작하는 문자열 찾기
      선택 에나메 From 폐기하다 어디에 에나메 맘에 들다 'S%'; 
  • 선도 와일드카드
    • 문자 'S'로 끝나는 문자열 찾기
      선택 에나메 From 폐기하다 어디에 에나메 맘에 들다 '%S'; 
  • 다중 와일드카드
    • 문자 'S'가 포함된 문자열 찾기
      선택 에나메 From 폐기하다 어디에 에나메 맘에 들다 '%S%'; 
  • 단일 문자 와일드카드
    • 문자 'A'와 문자 'E'가 차례로 포함된 문자열 찾기
      선택 에나메 From 폐기하다 어디에 에나메 맘에 들다 '%A_E%'; 
  • 캐릭터 클래스[2]
    • 문자나 숫자 또는 기호 '_'로 시작하는 문자열 찾기
      선택 에나메 From 폐기하다 어디에 에나메 맘에 들다 '[a-zA-Z0-9_]%.'; 

일반적으로 LIKE 술어는 인덱스의 정상적인 성능 이점 없이 검색을 수행한다.'=', '<') 등을 사용하는 경우대신 성능이 향상될 것이다.사례 민감도(예: 'S' 대 's')는 데이터베이스 제품 또는 구성에 따라 다를 수 있다.null

참조

  1. ^ "SQL WHERE Clause – Things beginners must know".
  2. ^ 마이크로소프트 TechnetRetrieve 2013년 11월 21일.

외부 링크