Podsumowanie :w tym samouczku dowiesz się, jak używać SQLite SELECT
instrukcja do zapytania o dane z pojedynczej tabeli.
SELECT
instrukcja jest jedną z najczęściej używanych instrukcji w SQL. SQLite SELECT
instrukcja zawiera wszystkie funkcje SELECT
instrukcja w standardzie SQL.
Proste zastosowania SELECT
oświadczenie
Możesz użyć SELECT
oświadczenie, aby wykonać proste obliczenia w następujący sposób:
SELECT 1 + 1;
Code language: SQL (Structured Query Language) (sql)
Wypróbuj
Możesz użyć wielu wyrażeń w SELECT
oświadczenie w następujący sposób:
SELECT
10 / 5,
2 * 4 ;
Code language: SQL (Structured Query Language) (sql)
Wypróbuj
Odpytywanie danych z tabeli za pomocą SELECT
oświadczenie
Często używamy SELECT
instrukcja do zapytania o dane z jednej lub więcej tabel. Składnia SELECT
oświadczenie brzmi następująco:
SELECT DISTINCT column_list
FROM table_list
JOIN table ON join_condition
WHERE row_filter
ORDER BY column
LIMIT count OFFSET offset
GROUP BY column
HAVING group_filter;
Code language: SQL (Structured Query Language) (sql)
SELECT
instrukcja jest najbardziej złożoną instrukcją w SQLite. Aby ułatwić zrozumienie każdej części, przerwiemy SELECT
oświadczenie w wielu łatwych do zrozumienia samouczkach.
- Użyj klauzuli ORDER BY, aby posortować zestaw wyników
- Użyj klauzuli DISTINCT do zapytania o unikalne wiersze w tabeli
- Użyj klauzuli WHERE do filtrowania wierszy w zestawie wyników
- Użyj klauzul LIMIT OFFSET, aby ograniczyć liczbę zwracanych wierszy
- Użyj INNER JOIN lub LEFT JOIN do zapytania o dane z wielu tabel za pomocą złączenia.
- Użyj GROUP BY, aby podzielić wiersze grup na grupy i zastosować funkcję agregującą dla każdej grupy.
- Użyj klauzuli HAVING do filtrowania grup
W tym samouczku skupimy się na najprostszej formie SELECT
instrukcja, która pozwala na zapytanie o dane z pojedynczej tabeli.
SELECT column_list
FROM table;
Code language: SQL (Structured Query Language) (sql)
Mimo że SELECT
klauzula pojawia się przed FROM
klauzula, SQLite ocenia FROM
najpierw klauzula, a następnie SELECT
klauzula, dlatego:
- Najpierw określ tabelę, z której chcesz pobrać dane w
FROM
klauzula. Zauważ, że możesz mieć więcej niż jedną tabelę wFROM
klauzula. Omówimy to w następnym samouczku. - Po drugie, określ kolumnę lub listę kolumn oddzielonych przecinkami w
SELECT
klauzula.
Używasz średnika (;), aby zakończyć instrukcję.
SQLite SELECT
przykłady
Rzućmy okiem na tracks
tabeli w przykładowej bazie danych.
tracks
tabela zawiera kolumny i wiersze. Wygląda jak arkusz kalkulacyjny.
Aby uzyskać dane z tabeli utworów, takie jak identyfikator utworu, nazwa utworu, kompozytor i cena jednostkowa, użyj następującego oświadczenia:
SELECT
trackid,
name,
composer,
unitprice
FROM
tracks;
Code language: SQL (Structured Query Language) (sql)
Wypróbuj
Określasz nazwy kolumn listy, z których chcesz uzyskać dane, w SELECT
klauzula i tracks
tabela w FROM
klauzula. SQLite zwraca następujący wynik:
Aby uzyskać dane ze wszystkich kolumn, określ kolumny tracks
tabela w SELECT
klauzula w następujący sposób:
SELECT
trackid,
name,
albumid,
mediatypeid,
genreid,
composer,
milliseconds,
bytes,
unitprice
FROM
tracks;
Code language: SQL (Structured Query Language) (sql)
Wypróbuj
W przypadku tabeli z wieloma kolumnami zapytanie byłoby tak długie, że jego wpisywanie byłoby czasochłonne. Aby tego uniknąć, możesz użyć gwiazdki (*), która jest skrótem dla wszystkich kolumn tabeli w następujący sposób:
SELECT * FROM tracks;
Code language: SQL (Structured Query Language) (sql)
Wypróbuj
Zapytanie jest teraz krótsze i czystsze.
Jednak…
Gwiazdki (*) należy używać wyłącznie do celów testowych, a nie podczas tworzenia rzeczywistych aplikacji.
Ponieważ…
Kiedy tworzysz aplikację, powinieneś kontrolować, co SQLite zwraca do Twojej aplikacji. Załóżmy, że tabela ma 3 kolumny i używasz gwiazdki (*), aby pobrać dane ze wszystkich trzech kolumn.
Co jeśli ktoś usunie kolumnę, Twoja aplikacja nie będzie działać poprawnie, ponieważ zakłada, że zwrócone zostały trzy kolumny, a logika przetwarzania tych trzech kolumn byłaby zepsuta.
Jeśli ktoś doda więcej kolumn, Twoja aplikacja może działać, ale pobiera więcej danych niż potrzeba, co powoduje większe obciążenie we/wy między bazą danych a aplikacją.
Staraj się więc unikać używania gwiazdki (*) jako dobrego nawyku, gdy używasz SELECT
oświadczenie.
W tym samouczku nauczyłeś się korzystać z prostej formy SQLite SELECT
instrukcja do zapytania o dane z pojedynczej tabeli.