Inne działy

 

 

MySQL wybieranie danych za pomocą klauzuli IN

Podsumowanie: W tym poradniku dowiesz się jak wyświetlić zestaw wyników, których wartości spełniają jeden z warunków z listy wartości przy użyciu operatora IN.

Składnia operatora SQL IN

Operator IN pozwala na wybór wartości, które pasują do jednej z wartości z listy wartości. Korzystanie z  operatora SQL IN przedstawia się następująco:

SELECT kolumny
FROM nazwa_tabeli
WHERE kolumna IN ("wartość1", "wartość2"...)

Kolumna w klauzuli WHERE nie musi być zawarta w wyrażeniu SELECT, ale musi to być kolumna w tabeli nazwa_tabeli. Jeśli lista zawiera więcej niż jedną wartość, każdy element musi być oddzielony przecinkiem.

Ponadto, można użyć operatora NOT z SQL w celu uzyskania wartości, które nie pasują do żadnej wartość na liście wartości.

Trochę praktyki na kilku przykładach z operatorem IN.

 

Załóżmy, że jeśli chcesz dowiedzieć się o wszystkich urzędach, które są zlokalizowane w Krakowie lub w Poznaniu, można wykonać następujące zapytanie:

SELECT nazwa_urzedu, miasto, telefon
FROM urzedy
WHERE miasto = 'Kraków' OR miasto = 'Poznań'

 

W tym przypadku możemy użyć operatora SQL IN zamiast powyższego zapytania:

SELECT nazwa_urzedu, miasto, telefon
FROM urzedy
WHERE miasto IN ('Kraków','Poznań')

 

Aby wyświetlić wszystkie urzędy, które nie znajdują się w Krakowie i Poznaniu, możemy użyć NOT IN w klauzuli WHERE w następujący sposób:

SELECT nazwa_urzedu, miasto, telefon
FROM urzedy
WHERE miasto NOT IN ('Kraków','Poznań')

 

SQL IN jest używane najczęściej w pod-zapytaniach. Na przykład, jeśli chcesz dowiedzieć się o wszystkich zamówieniach z tabeli zamówienia, które mają całkowity koszt większy niż 60 000 PLN, możemy użyć SQL IN w pod-zapytaniu.

SELECT numer_zamowienia
FROM szczegoly_zamowienia
GROUP BY numer_zamowienia
HAVING SUM (ilosc_zam * cena) > 60000

 

Drugi przykład pod-zapytania z operatorem IN:

SELECT numer_zamowienia, numer_klienta, status, data_wyslania
FROM zamowienia
WHERE numer_zamowienia IN (
SELECT numer_zamowienia
FROM szczegoly_zamowienia
GROUP BY numer_zamówienia
HAVING SUM (ilosc_zam * cena) > 60000)

 

 

 

 

 

Zobacz nasze wszystkie kursy

WWW


HTML
HTML - Znaczniki
CSS - Tutorial
CSS - Selektory
PHP
JavaScript

XML

XSLT

Bazy danych


SQL
SQLite
MySQL
PostgreSQL

 

 

Programowanie


C
C++
C#
Java
VisualBasic
Python

Linux


Podstawy Linuxa
Bash
Linuks artykuły

Windows


Excel funkcje
Windows wskazówki
Outlook

Pozotałe działy


Programy
Rozrywka

 

 

 

This email address is being protected from spambots. You need JavaScript enabled to view it.