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
FROMklauzula. Zauważ, że możesz mieć więcej niż jedną tabelę wFROMklauzula. Omówimy to w następnym samouczku. - Po drugie, określ kolumnę lub listę kolumn oddzielonych przecinkami w
SELECTklauzula.
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.