sql >> Database teknologi >  >> RDS >> SQLite

SQLite Vælg

Oversigt :i denne vejledning lærer du, hvordan du bruger SQLite SELECT sætning for at forespørge data fra en enkelt tabel.

SELECT sætning er en af ​​de mest brugte sætninger i SQL. SQLite SELECT sætningen indeholder alle funktioner i SELECT sætning i SQL-standard.

Simpel brug af SELECT erklæring

Du kan bruge SELECT sætning for at udføre en simpel beregning som følger:

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

Prøv det

Du kan bruge flere udtryk i SELECT erklæring som følger:

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

Prøv det

Forespørgsel efter data fra en tabel ved hjælp af SELECT erklæring

Vi bruger ofte SELECT sætning for at forespørge data fra en eller flere tabeller. Syntaksen for SELECT erklæringen er som følger:

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 sætning er den mest komplekse sætning i SQLite. For at gøre det lettere at forstå hver del, vil vi bryde SELECT erklæring i flere letforståelige selvstudier.

  • Brug ORDER BY-sætning til at sortere resultatsættet
  • Brug DISTINCT-sætning til at forespørge på unikke rækker i en tabel
  • Brug WHERE-sætning til at filtrere rækker i resultatsættet
  • Brug LIMIT OFFSET-sætninger til at begrænse antallet af returnerede rækker
  • Brug INNER JOIN eller LEFT JOIN til at forespørge data fra flere tabeller ved hjælp af join.
  • Brug GROUP BY for at få grupperækkerne i grupper og anvende aggregeret funktion for hver gruppe.
  • Brug HAVING-sætning til at filtrere grupper

I denne vejledning vil vi fokusere på den enkleste form for SELECT sætning, der giver dig mulighed for at forespørge data fra en enkelt tabel.

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

Selvom SELECT klausulen vises før FROM klausul, evaluerer SQLite FROM først klausulen og derefter SELECT klausul, derfor:

  • Først skal du angive den tabel, hvorfra du vil hente data i FROM klausul. Bemærk, at du kan have mere end én tabel i FROM klausul. Vi vil diskutere det i det efterfølgende selvstudie.
  • For det andet skal du angive en kolonne eller en liste over kommaseparerede kolonner i SELECT klausul.

Du bruger semikolon (;) til at afslutte sætningen.

SQLite SELECT eksempler

Lad os tage et kig på tracks tabel i eksempeldatabasen.

tracks tabel indeholder kolonner og rækker. Det ligner et regneark.

For at få data fra sportabellen, såsom trackid, spornavn, komponist og enhedspris, bruger du følgende sætning:

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

Prøv det

Du angiver en liste kolonnenavne, som du ønsker at få data, i SELECT klausul og tracks tabellen i FROM klausul. SQLite returnerer følgende resultat:

For at få data fra alle kolonner skal du angive kolonnerne for tracks tabellen i SELECT klausul som følger:

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

Prøv det

For en tabel med mange kolonner ville forespørgslen være så lang, at det tager tid at skrive. For at undgå dette kan du bruge stjernen (*), som er en forkortelse for alle kolonner i tabellen som følger:

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

Prøv det

Forespørgslen er kortere og renere nu.

Dog...

Du bør kun bruge stjernen (*) til testformål, ikke i den rigtige applikationsudvikling.

Fordi...

Når du udvikler en applikation, bør du kontrollere, hvad SQLite returnerer til din applikation. Antag, at en tabel har 3 kolonner, og du bruger stjernen (*) til at hente data fra alle tre kolonner.

Hvad hvis nogen fjerner en kolonne, ville din applikation ikke fungere korrekt, fordi den antager, at der returneres tre kolonner, og logikken til at behandle disse tre kolonner ville være brudt.

Hvis nogen tilføjer flere kolonner, fungerer din applikation muligvis, men den får flere data end nødvendigt, hvilket skaber flere I/O-overhead mellem databasen og applikationen.

Så prøv at undgå at bruge stjernen (*) som en god vane, når du bruger SELECT erklæring.

I denne øvelse har du lært, hvordan du bruger en simpel form af SQLite SELECT sætning for at forespørge data fra en enkelt tabel.


  1. Videregivelse af kolonnenavne dynamisk for en postvariabel i PostgreSQL

  2. SQL Server 2016:Opret et forhold

  3. Hvordan udføres SQL-forespørgsel direkte i C#?

  4. Hvordan caster jeg en streng til heltal og har 0 i tilfælde af fejl i castet med PostgreSQL?