Najlepszy samouczek SQLite podzapytanie W 2024 r. W tym samouczku możesz dowiedzieć się SELECT podzapytania,Przykłady,INSERT Podzapytanie,Przykłady,UPDATE stwierdzenie Podzapytanie,Przykłady,DELETE Podzapytanie,Przykłady,
Podzapytanie lub zagnieżdżone zapytania lub zapytanie wewnętrzna jest wbudowana w zapytaniu WHERE w innym zapytaniu SQLite.
Korzystanie z sub-zapytania zwraca dane zostaną wykorzystane w głównej kwerendy jako warunek dalszego ograniczenia dane mają być pobierane.
Podzapytania może być używany z SELECT, INSERT, UPDATE i DELETE mogą towarzyszyć operatorów użytku, takich jak =, <,>,> =, <=, IN BETWEEN podoba.
Poniżej znajduje podkwerendzie kilka zasad, których należy przestrzegać:
Podzapytania musi być ujęty w nawiasy.
Sub-query SELECT klauzula może mieć tylko jedną kolumnę, chyba wielu kolumn w głównym zapytaniu, wybranego porównaniu kolumna podzapytanie.
BY nie może być stosowany w podkwerendzie, chociaż głównym zapytanie może wykorzystywać BY. Można użyć GROUP BY w podzapytania, działa tak samo jak ORDER BY.
Podzapytanie zwraca więcej niż jeden wiersz, może być używany tylko z operatorem wielu wartości, takich jak operatora IN.
OD operator nie może być stosowany z sub-zapytań Jednak między mogą być stosowane w podzapytaniach.
Podzapytanie jest zwykle używany z SELECT. Składnia podstawowa jest następujący:
SELECT column_name [, nazwa_kolumny] Z Tabela1 [, Tabela 2] GDZIE column_name OPERATOR (SELECT column_name [, nazwa_kolumny] Z Tabela1 [, Tabela 2] [GDZIE])
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
Teraz zbadajmy instrukcji SELECT podzapytania:
sqlite> SELECT * OD PRODUCENTA WHERE id IN (SELECT ID OD PRODUCENTA WHERE Pensja> 45000);
To daje następujące wyniki:
NAZWA ID AGE ADRES WYNAGRODZENIE ---------- ---------- ---------- ---------- ---------- 4 Mark 25 Rich-Mond 65000,0 5 Dawid 27 Texas 85000,0
Podzapytania może być również używany z INSERT. INSERT używa podzapytania, aby powrócić danych w innej tabeli. W pod-zapytania wybranych danych może być dowolny znak, data lub numeryczny modyfikacji funkcji.
Składnia podstawowa jest następujący:
INSERT INTO nazwa_tabeli [(kolumna1 [, kolumna2])] SELECT [* | kolumna1 [, kolumna2] Z Tabela1 [, Tabela 2] [GDZIE WARTOŚĆ OPERATORA]
Załóżmy COMPANY_BKP struktura firmy stołowego i podobne, i może korzystać z tego samego Tworzenie tabeli do tworzenia, po prostu zmienił nazwę COMPANY_BKP stołowego. Teraz skopiować całą tabelę firmę do COMPANY_BKP, składnia jest następująca:
sqlite> INSERT INTO COMPANY_BKP SELECT * FROM COMPANY WHERE id IN (SELECT ID Od spółki);
Podzapytania mogą być używane z instrukcji UPDATE. Podczas korzystania z podzapytania UPDATE, pojedyncze lub wielokrotne kolumny są aktualizowane w tabeli.
Składnia podstawowa jest następujący:
UPDATE table SET nazwa_kolumny = new_value [WHERE operator [VALUE] (SELECT COLUMN_NAME Z TABLE_NAME) [WHERE)]
Załóżmy, że mamy tabelę COMPANY_BKP, backup tabeli Spółki.
Poniższe przykłady tabeli SPÓŁKA każdym wieku niż lub równy 27 klientów WYNAGRODZENIA zaktualizowaną oryginalną 0,50-krotnie:
sqlite> Firma UPDATE SET Pensja = Pensja * 0,50 GDZIE NA WIEK (SELECT wieku od COMPANY_BKP GDZIE wiek> = 27);
Wpłynie to na dwa wiersze ostatnie wpisy firmowe w tabeli w następujący sposób:
NAZWA ID AGE ADRES WYNAGRODZENIE ---------- ---------- ---------- ---------- ---------- 1 Paweł 32 California 10000,0 2 Allen 25 Texas 15000,0 3 Teddy 23 Norwegia 20000,0 4 Mark 25 Rich-Mond 65000,0 5 Dawid 27 Texas 42500,0 6 Kim 22 South-Hall 45000,0 7 James 24 Houston 10000,0
Podzapytania może być używany z DELETE, podobnie jak inne oświadczenia, jak wspomniano powyżej.
Składnia podstawowa jest następujący:
DELETE FROM TABLE_NAME [WHERE operator [VALUE] (SELECT COLUMN_NAME Z TABLE_NAME) [WHERE)]
Załóżmy, że mamy tabelę COMPANY_BKP, backup tabeli Spółki.
Poniższe przykłady skasować wszystkie dane klientów większa lub równa 27 lat Stół COMPANY:
sqlite> DELETE FROM COMPANY GDZIE NA WIEK (SELECT wieku od COMPANY_BKP GDZIE wiek> 27);
Wpłynie to na dwa wiersze ostatnie wpisy firmowe w tabeli w następujący sposób:
NAZWA ID AGE ADRES WYNAGRODZENIE ---------- ---------- ---------- ---------- ---------- 2 Allen 25 Texas 15000,0 3 Teddy 23 Norwegia 20000,0 4 Mark 25 Rich-Mond 65000,0 5 Dawid 27 Texas 42500,0 6 Kim 22 South-Hall 45000,0 7 James 24 Houston 10000,0