sql >> Databasteknik >  >> RDS >> SQLite

SQLite Välj

Sammanfattning :i den här handledningen kommer du att lära dig hur du använder SQLite SELECT uttalande för att fråga data från en enda tabell.

SELECT sats är en av de mest använda satserna i SQL. SQLite SELECT -satsen tillhandahåller alla funktioner i SELECT uttalande i SQL-standard.

Enkla användningar av SELECT uttalande

Du kan använda SELECT för att utföra en enkel beräkning enligt följande:

SELECT	1 + 1;Code language: SQL (Structured Query Language) (sql)

Prova det

Du kan använda flera uttryck i SELECT uttalande enligt följande:

SELECT 
   10 / 5, 
   2 * 4 ;Code language: SQL (Structured Query Language) (sql)

Prova det

Fråga data från en tabell med SELECT uttalande

Vi använder ofta SELECT uttalande för att fråga data från en eller flera tabeller. Syntaxen för SELECT uttalandet är som följer:

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 sats är den mest komplexa satsen i SQLite. För att göra det lättare att förstå varje del kommer vi att bryta SELECT uttalande till flera lättförståeliga tutorials.

  • Använd ORDER BY-satsen för att sortera resultatuppsättningen
  • Använd DISTINCT-satsen för att fråga efter unika rader i en tabell
  • Använd WHERE-satsen för att filtrera rader i resultatuppsättningen
  • Använd LIMIT OFFSET-satser för att begränsa antalet returnerade rader
  • Använd INNER JOIN eller LEFT JOIN för att söka efter data från flera tabeller med join.
  • Använd GROUP BY för att få gruppraderna i grupper och tillämpa aggregatfunktion för varje grupp.
  • Använd HAVING-satsen för att filtrera grupper

I den här handledningen kommer vi att fokusera på den enklaste formen av SELECT sats som låter dig fråga data från en enda tabell.

SELECT column_list
FROM table;Code language: SQL (Structured Query Language) (sql)

Även om SELECT satsen visas före FROM sats, utvärderar SQLite FROM först och sedan SELECT klausul, därför:

  • Först, ange tabellen varifrån du vill hämta data i FROM klausul. Observera att du kan ha mer än en tabell i FROM klausul. Vi kommer att diskutera det i den efterföljande handledningen.
  • För det andra, ange en kolumn eller en lista med kommaseparerade kolumner i SELECT klausul.

Du använder semikolon (;) för att avsluta satsen.

SQLite SELECT exempel

Låt oss ta en titt på tracks tabell i exempeldatabasen.

tracks Tabellen innehåller kolumner och rader. Det ser ut som ett kalkylblad.

För att få data från spårtabellen som trackid, spårnamn, kompositör och enhetspris använder du följande uttalande:

SELECT
	trackid,
	name,
	composer,
	unitprice
FROM
	tracks;Code language: SQL (Structured Query Language) (sql)

Prova det

Du anger en lista kolumnnamn, som du vill få data, i SELECT satsen och tracks tabellen i FROM klausul. SQLite returnerar följande resultat:

För att få data från alla kolumner anger du kolumnerna för tracks tabellen i SELECT klausul enligt följande:

SELECT
	trackid,
	name,
	albumid,
	mediatypeid,
	genreid,
	composer,
	milliseconds,
	bytes,
	unitprice
FROM
	tracks;Code language: SQL (Structured Query Language) (sql)

Prova det

För en tabell med många kolumner skulle frågan vara så lång att det tar tid att skriva. För att undvika detta kan du använda asterisken (*), som är förkortningen för alla kolumner i tabellen enligt följande:

SELECT * FROM tracks;Code language: SQL (Structured Query Language) (sql)

Prova det

Frågan är kortare och renare nu.

Men...

Du bör endast använda asterisken (*) för testsyftet, inte i den verkliga applikationsutvecklingen.

För att...

När du utvecklar en applikation bör du kontrollera vad SQLite returnerar till din applikation. Anta att en tabell har tre kolumner och att du använder asterisken (*) för att hämta data från alla tre kolumner.

Tänk om någon tar bort en kolumn, din applikation skulle inte fungera korrekt, eftersom den förutsätter att det finns tre kolumner som returneras och logiken för att bearbeta dessa tre kolumner skulle vara bruten.

Om någon lägger till fler kolumner kan din applikation fungera men den får mer data än vad som behövs, vilket skapar mer I/O-overhead mellan databasen och applikationen.

Så försök att undvika att använda asterisken (*) som en god vana när du använder SELECT uttalande.

I den här handledningen har du lärt dig hur du använder en enkel form av SQLite SELECT uttalande för att fråga data från en enda tabell.


  1. Uppdatera kolumner med nollvärden

  2. Android:Bulk Insert, när InsertHelper är utfasad

  3. Formatera SQLite-frågeresultat som en kommaseparerad lista

  4. ORA-00257:arkiveringsfel. Anslut endast internt tills det frigörs.