Latest web development tutorials

SQLite Where

WHERE SQLite, aby określić, aby uzyskać dane z jednej lub kilku tabel w warunkach.

Jeśli spełniają dany warunek jest prawdziwy (true), od stołu do zwrócenia szczególnej wartości. Można użyć klauzuli WHERE, aby filtrować rekordy, po prostu wymagane rekordy.

WHERE jest używana nie tylko w instrukcji SELECT, może być również stosowany w UPDATE, DELETE, i tak dalej, które poznamy w kolejnych rozdziałach.

gramatyka

Podstawowa składnia SELECT z klauzulą ​​gdzie w SQLite w następujący sposób:

SELECT kolumna1, kolumna2, columnN 
Z table_name
Gdzie [warunek]

Przykłady

Można również użyć porównania lub operatory logiczne kryteria określone, takie jak>, <, =, jak, nie, i tak dalej. Załóżmy, że stół Spółka posiada następujące zapisy:

NAZWA ID AGE ADRES WYNAGRODZENIE
---------- ---------- ---------- ---------- ----------
1 Paweł 32 California 20000,0
2 Allen 25 Texas 15000,0
3 Teddy 23 Norwegia 20000,0
4 Mark 25 Rich-Mond 65000,0
5 Dawid 27 Texas 85000,0
6 Kim 22 South-Hall 45000,0
7 James 24 Houston 10000,0

Poniższy przykład ilustruje użycie SQLite operatorów logicznych. Poniższe zestawienie zawiera listę AGE SELECT 25i większa lub równa większa lub równa płaca dla wszystkich rekordów 65000.00:

sqlite> SELECT * FROM firmie, w której wiek> = 25 AND Pensja> = 65000;
NAZWA ID AGE ADRES WYNAGRODZENIE
---------- ---------- ---------- ---------- ----------
4 Mark 25 Rich-Mond 65000,0
5 Dawid 27 Texas 85000,0

Poniższe zestawienie zawiera listę AGE SELECT 25lub większa lub równa większa lub równa płaca dla wszystkich rekordów 65000.00:

sqlite> SELECT * FROM firmie, w której wiek> = 25 LUB Pensja> = 65000;
NAZWA ID AGE ADRES WYNAGRODZENIE
---------- ---------- ---------- ---------- ----------
1 Paweł 32 California 20000,0
2 Allen 25 Texas 15000,0
4 Mark 25 Rich-Mond 65000,0
5 Dawid 27 Texas 85000,0

Poniższe zestawienie zawiera listę SELECT wiek nie jest NULL dla wszystkich zapisów, wszystkie rekordy wykazały, oznacza to, że nie ma zapisu na wiek jest równy NULL:

sqlite> SELECT * FROM firmie, w której wiek nie jest NULL;
NAZWA ID AGE ADRES WYNAGRODZENIE
---------- ---------- ---------- ---------- ----------
1 Paweł 32 California 20000,0
2 Allen 25 Texas 15000,0
3 Teddy 23 Norwegia 20000,0
4 Mark 25 Rich-Mond 65000,0
5 Dawid 27 Texas 85000,0
6 Kim 22 South-Hall 45000,0
7 James 24 Houston 10000,0

Charakter następujących listach wyboru rachunku nazwę na "Ki" wszystkich zapisów zaczął, "Ki" ma limitu po:

sqlite> SELECT * FROM firmie, w której nazwie typu "Ki% ';
NAZWA ID AGE ADRES WYNAGRODZENIE
---------- ---------- ---------- ---------- ----------
6 Kim 22 South-Hall 45000,0

Charakter następujących listach wyboru rachunku nazwę na "Ki" wszystkich zapisów zaczął, "Ki" ma limitu po:

sqlite> SELECT * FROM firma Gdzie NAZWA GLOB "Ki * ';
NAZWA ID AGE ADRES WYNAGRODZENIE
---------- ---------- ---------- ---------- ----------
6 Kim 22 South-Hall 45000,0

Poniższy list SELECT wszystkie rekordy wartości wieku 25 lub 27:

sqlite> SELECT * FROM firma Gdzie AGE IN (25, 27);
NAZWA ID AGE ADRES WYNAGRODZENIE
---------- ---------- ---------- ---------- ----------
2 Allen 25 Texas 15000,0
4 Mark 25 Rich-Mond 65000,0
5 Dawid 27 Texas 85000,0

Poniższa instrukcja SELECT zawiera listę wartości AGE jest ani 25, ani 27 wszystkich zapisów:

sqlite> SELECT * FROM firmie, w której wiek nie IN (25, 27);
NAZWA ID AGE ADRES WYNAGRODZENIE
---------- ---------- ---------- ---------- ----------
1 Paweł 32 California 20000,0
3 Teddy 23 Norwegia 20000,0
6 Kim 22 South-Hall 45000,0
7 James 24 Houston 10000,0

Poniższe zestawienie zawiera listę SELECT Wiek wartościami wszelkie rekordy od 25 do 27:

sqlite> SELECT * FROM firma Gdzie wieku pomiędzy 25 i 27;
NAZWA ID AGE ADRES WYNAGRODZENIE
---------- ---------- ---------- ---------- ----------
2 Allen 25 Texas 15000,0
4 Mark 25 Rich-Mond 65000,0
5 Dawid 27 Texas 85000,0

Poniższa instrukcja SELECT używa podzapytania SQL, podzapytania find Pensja> pole wiek dla wszystkich rekordów z 65.000, za klauzula WHERE jest używana w połączeniu z operatorem EXISTS, wymienia zewnętrzną obecność AGE zapytanie w deklaracji sub-zapytania wyniki wszystkich rekordów:

sqlite> SELECT wieku od PRODUCENTA 
        Jeżeli nie istnieje (SELECT wieku od firmy, w której Pensja> 65000);
AGE
----------
32
25
23
25
27
22
24

Poniższa instrukcja SELECT używa SQL podzapytania, podzapytania find Pensja> pole wiek dla wszystkich rekordów z 65.000, za WHERE i> Operatorzy są używane razem, wyniki kwerendy zwraca listę zewnętrznej kwerendy jest większa niż sub-AGE Wszystkie zapisy w wieku:

sqlite> SELECT * FROM COMPANY 
        GDZIE wiek> (SELECT wieku od firmy, w której Pensja> 65000);
NAZWA ID AGE ADRES WYNAGRODZENIE
---------- ---------- ---------- ---------- ----------
1 Paweł 32 California 20000,0