Udostępnij za pośrednictwem


Operatory porównania (wizualne Narzędzia bazy danych)

W warunku wyszukiwania, można używać standardowych operatorów SQL.

Kiedy używać operatorów w warunku wyszukiwania, stosuje się następujące zasady:

  • Typy danych dane użyte do porównania, musi być zgodna.Oznacza to, że tylko tekstu można porównać tekst, liczby do liczby i tak dalej.Niektóre systemy zarządzania bazami danych umożliwiają tymczasowego konwertowania danych na inny typ danych za pomocą funkcji lub słowa kluczowego (na przykład CAST).Szczegóły można znaleźć w dokumentacji bazy danych.

  • Jeśli porównywane są dane tekstowe, wynik zależy od używanego aktualnie zestawu znaków.Na przykład jeśli tabela powstała przy użyciu znaków skandynawskich, wyniki wyszukiwania mogą być różne w zależności od tego, czy bieżący zestaw znaków (stroną kodową) jest skandynawski, lub inny zestaw znaków.

  • Jeśli porównywaną wartością jest null, wynik jest nieznany.Wartości Null nie są dopasowywane żadnej wartości, włącznie z innymi wystąpieniami wartości null.Na przykład, jeśli są wyszukiwane nazwy zaczynające się od litery "M" lub wyższej (name >= 'M'), a niektóre wiersze nie zawierają żadnych wartooci, te wiersze są niewidoczne, bez względu na to, jaki operator porównania można użyć.

W następującej tabeli podsumowano operatorów warunków wyszukiwania, które są zdefiniowane w standardowym języku SQL.

[!UWAGA]

Informacje w tym temacie pochodzą z zasady dla standardowych SQL-92.Jednakże każda baza danych można zaimplementować SQL na swój sposób.W związku z tym wytyczne nie może zastosować w każdym przypadku.Jeśli masz pytania dotyczące sposobu używania operatorów z konkretnej bazy danych, można znaleźć w dokumentacji bazy danych, którego używasz.

Operator

Znaczenie

Przykład okienka kryteria *

Przykład w okienku SQL

=

Równe

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

< > !=

Nie równa się

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

>

Większe niż

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

<

Mniej niż

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

> =! <

Większe niż lub równe

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

< = >!

Mniejsze lub równe

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

MIĘDZY expr1 iexpr2

Sprawdza zakres wartości

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

[NOT] MA WARTOŚĆ NULL

Badania czy zawartość kolumny lub wynik wyrażenia jest null

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

[NOT] PODOBNIE JAK

Dokonuje porównania ze wzorcem (zwykle ograniczonego do znakowych typów danych)

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

Wyr1 [NOT] W (val1, wartość2,...) – lub –expr1 [NOT] W (podkwerendy)

Dopasowuje listę określonych wartości przez sprawdzenie, czy Wyr1 pojawia się na liście wartości lub w zestawie wyników podkwerendy

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'))

WSZELKIE (CZĘŚĆ)

Sprawdza, czy jeden lub więcej wierszy w zestawie wyników podkwerendy spełniają określony warunek (ANY oraz SOME są synonimami; Kwerendy i projektanta widoku będą używać dowolnych podczas tworzenia instrukcji SQL.)

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

WSZYSTKIE

Sprawdza, czy wszystkie wiersze w wyniku zestaw podkwerendy spełniają określony warunek.

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] ISTNIEJE

Sprawdza, czy podkwerenda zwraca jakiekolwiek wyniki (nie konkretny wynik)

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

* Dla jasności Okienku kryteriów przykłady obejmują tylko jeden przykład dla każdego operatora i nie wskazują przeszukiwanych której kolumny danych.

** Daty można wprowadzać w okienku kryteriów, używając formatu określonego w Ustawień regionalnych systemu Windows okno dialogowe.Aby uzyskać szczegółowe informacje, zobacz zasady wprowadzania wartooci wyszukiwania.

Zobacz też

Inne zasoby

Projektowanie kwerend i widoków

Odwołanie (wizualne Narzędzia bazy danych)