Share via


비교 연산자(Visual Database Tools)

표준 SQL 연산자를 검색 조건에 사용할 수 있습니다.

검색 조건에 연산자를 사용하는 경우 다음 규칙이 적용됩니다.

  • 비교에 사용되는 데이터의 형식이 서로 일치해야 합니다. 즉 텍스트 비교 대상은 텍스트뿐이고 숫자 비교 대상은 숫자뿐입니다. 일부 데이터베이스 관리 시스템의 경우 함수 또는 키워드(예: CAST)를 사용하여 데이터를 일시적으로 다른 형식으로 변환할 수 있습니다. 자세한 내용은 데이터베이스에 대한 설명서를 참조하십시오.

  • 텍스트 데이터를 비교하는 경우 현재 사용하고 있는 문자 집합에 따라 결과가 달라집니다. 예를 들어 스칸디나비아어를 사용하여 테이블을 만든 경우 현재 문자 집합(코드 페이지)이 스칸디나비아어인지 또는 다른 문자 집합인지에 따라 검색 결과가 달라질 수 있습니다.

  • 비교 값이 null이면 결과를 알 수 없습니다. Null은 다른 null을 포함하여 어떤 값과도 일치하지 않습니다. 예를 들어 "M"보다 크거나 같은 문자로 시작하는 이름(name >= 'M')을 검색하는 경우 값이 없는 행이 있으면 사용하는 비교 연산자에 관계없이 이런 행들은 나타나지 않습니다.

다음 표에는 표준 SQL에 정의되어 있는 검색 조건 연산자가 요약되어 있습니다.

참고

이 항목의 정보는 SQL-92 표준의 규칙을 바탕으로 한 것입니다.그러나 데이터베이스마다 자체의 고유한 방식으로 SQL을 구현할 수 있습니다.여기서 설명하는 지침이 모든 경우에 적용되는 것은 아닙니다.특정 데이터베이스에서 연산자를 사용하는 방법에 대한 내용은 사용하고 있는 데이터베이스 설명서를 참조하십시오.

Operator

의미

조건 창 예*

SQL 창 예

=

같음

= 'Smith'
SELECT fname, lname
FROM employees
WHERE lname = 'Smith'

<> !=

같지 않음

<> 'Active'
SELECT fname, lname
FROM employees
WHERE status <> 'Active'

>

보다 큼

> '01 Jan 1995'**
SELECT fname, lname
FROM employees
WHERE hire_date >
 '12/31/90'

<

보다 작음

< 100
SELECT fname, lname
FROM employees
WHERE job_lvl < 100

>= !<

크거나 같음

>= 'T'
SELECT au_lname
FROM authors
WHERE au_lname >= 'T'

<= !>

작거나 같음

<= '01 Jan 1995'**
SELECT fname, lname
FROM employees
WHERE hire_date <= 
 '01/01/95'

BETWEEN expr1 AND expr2

값의 범위를 테스트합니다.

BETWEEN 
'01 Jan 1995' 
AND 
'31 Dec 1995'**
SELECT fname, lname
FROM employees
WHERE hire_date 
 BETWEEN '12/31/90'
 AND '12/31/91'

IS [NOT] NULL

열의 내용 또는 식의 결과가 null인지 여부를 테스트합니다.

IS NULL
SELECT fname, lname
FROM employees
WHERE photo_on_file IS NULL

[NOT] LIKE

패턴 일치를 수행합니다(일반적으로 문자 데이터 형식으로 제한됨).

LIKE ('MAC%')
SELECT fname, lname
FROM employees
WHERE lname LIKE ('MAC%')

expr1 [NOT] IN (val1, val2, ...) – 또는 – expr1 [NOT] IN (subquery)

expr1이 값 목록에 나타나는지 아니면 하위 쿼리의 결과 집합에 나타나는지 여부를 테스트하여 특정 값 목록을 검색합니다.

IN ('SW', 'SE')
supplier_id IN
  (subquery)
SELECT fname, lname
FROM employees
WHERE sales_region IN ('SW', 'SE')
SELECT product_name
FROM products
WHERE supplier_id IN
  (SELECT supplier_id
  FROM supplier
  WHERE (country = 'Sweden'))

ANY (SOME)

하위 쿼리의 결과 집합에서 하나 이상의 행이 지정된 조건을 충족하는지 테스트합니다. ANY와 SOME은 동의어입니다. 쿼리 및 뷰 디자이너에서는 SQL 문을 만들 때 ANY를 사용합니다.

<> ANY (subquery)
SELECT au_lname, au_fname
FROM authors
where city <> any
 (SELECT city FROM publishers)

ALL

하위 쿼리의 결과 집합에서 모든 행이 지정된 조건에 맞는지 여부를 테스트합니다.

advance > ALL (subquery)
SELECT title FROM titles
where advance > all
  (SELECT advance FROM
   publishers,titles
  where titles.pub_id 
   = publishers.pub_id
  AND pub_name = 
   'Alogdata Infosystems')

[NOT] EXISTS

하위 쿼리가 특정한 결과 값이 아니라 어떤 것이든 결과를 반환하는지 여부를 테스트합니다.

EXISTS (subquery)
SELECT product_name
FROM products
WHERE EXISTS
  (SELECT * FROM 
   orders, products
  WHERE orders.prod_id 
  = products.prod_id)

* 알기 쉽도록 하기 위해 조건 창 예제에는 각 연산자에 대한 예를 하나씩만 포함시키고 검색 중인 데이터 열은 표시하지 않았습니다.

** Windows의 국가별 설정 대화 상자에 지정된 형식을 사용하여 조건 창에 날짜를 입력할 수 있습니다. 자세한 내용은 검색 값 입력 규칙을 참조하십시오.

참고 항목

기타 리소스

쿼리 및 뷰 디자인

참조(Visual Database Tools)