SQL Academy · Oppitunti

Taulukosarakkeiden perusteet

Luokaa ja lukekaa taulukkoarvoja.

Oppitunti 1/413 vaihetta

Taulukosarakkeiden perusteet on ilmainen SQL Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu SQL Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. SQL Academy-kurssilla on yhteensä 4 oppituntia.

Mikä on taulukkosarake?

PostgreSQL tukee taulukkosarakkeita, joiden ansiosta yksi solu voi sisältää useita samantyyppisiä arvoja. Pilkuilla erotetun tekstin sijaan saatte asianmukaisen tyypitetyn luettelon, jota voitte kysellä, indeksoida ja käsitellä sisäänrakennetuilla funktioilla.

Taulukot voivat sisältää kokonaislukuja, tekstiä, totuusarvoja, päivämääriä tai mitä tahansa muuta PostgreSQL-tyyppiä. Syntaksi on esimerkiksi integer[] tai text[].

Taulukkosarakkeen määrittäminen

Lisätkää [] minkä tahansa tyypin nimen perään CREATE TABLE -lauseessa, kun määritätte taulukkosarakkeen. Alla oleva taulukko tallentaa jokaiselle artikkelille tunnisteluettelon.

CREATE TABLE articles (
  id      serial PRIMARY KEY,
  title   text NOT NULL,
  tags    text[]
);

Taulukkoarvojen lisääminen

Lisätkää taulukkotiedot käyttämällä yksinkertaisiin lainausmerkkeihin ympäröityjä aaltosulkeliteraaleja. Kukin alkio erotetaan pilkulla aaltosulkeiden sisällä: '{"sql","database"}'.

Vaihtoehtoisesti voitte käyttää toisella rivillä esitettyä ARRAY[...]-konstruktorisyntaksia.

INSERT INTO articles (title, tags) VALUES
  ('Intro to SQL',    '{"sql","beginner"}'),
  ('Advanced Joins',  ARRAY['sql','joins','performance']),
  ('NULL Handling',   '{"sql","nulls","tips"}');

Koko taulukon lukeminen

Taulukkosarakkeen valitseminen toimii samalla tavalla kuin minkä tahansa muun sarakkeen valitseminen. PostgreSQL palauttaa koko taulukon yhtenä arvona tulosjoukossa ja näyttää sen aaltosuljemuodossa.

SELECT id, title, tags
FROM   articles;

Yksittäisen alkion käyttäminen

PostgreSQL:n taulukkoindeksit ovat 1-pohjaisia (ensimmäisen alkion indeksi on 1, ei 0). Käyttäkää sarakkeen nimen jälkeen hakasulkeita tietyn alkion käyttämiseen.

SELECT title,
       tags[1] AS first_tag,
       tags[2] AS second_tag
FROM   articles;

Taulukon viipalointi

Voitte poimia alkioiden välin käyttämällä lower:upper-viipalointisyntaksia hakasulkeiden sisällä. Molemmat rajat sisältyvät tulokseen.

SELECT title,
       tags[1:2] AS first_two_tags
FROM   articles;

Suodattaminen ANY-operaattorilla

Kun haluatte löytää rivit, joiden taulukko sisältää tietyn arvon, käyttäkää lauseketta = ANY(column). Se palauttaa rivit, joissa vähintään yksi taulukon alkio vastaa annettua arvoa.

SELECT id, title, tags
FROM   articles
WHERE  'joins' = ANY(tags);

Suodattaminen @>-operaattorilla

Contains-operaattori @> tarkistaa, sisältääkö vasen taulukko kaikki oikean taulukon alkiot. Tästä on hyötyä, kun haluatte löytää rivit, jotka sisältävät tietyn joukon pakollisia tunnisteita.

SELECT id, title, tags
FROM   articles
WHERE  tags @> ARRAY['sql','tips'];

Taulukon pituuden hakeminen

array_length(arr, dimension) -funktio palauttaa alkioiden määrän annetussa ulottuvuudessa. Käyttäkää yksiulotteiselle taulukolle toisena argumenttina arvoa 1.

SELECT title,
       array_length(tags, 1) AS tag_count
FROM   articles
ORDER  BY tag_count DESC;

Alkioiden lisääminen loppuun

Lisätkää uusi alkio olemassa olevan taulukkosarakkeen loppuun käyttämällä funktiota array_append(array, element) tai konkatenointioperaattoria ||.

UPDATE articles
SET    tags = array_append(tags, 'featured')
WHERE  title = 'Intro to SQL';

SELECT title, tags FROM articles WHERE title = 'Intro to SQL';

Taulukon purkaminen riveiksi

unnest(array) -funktio laajentaa taulukon rivijoukoksi — yksi rivi kutakin alkiota kohti. Tämä on hyödyllistä aggregoinneissa, liitoksissa ja kaikissa operaatioissa, joissa jokaista alkiota on käsiteltävä erikseen.

SELECT title, unnest(tags) AS tag
FROM   articles
ORDER  BY title, tag;

Pikatesti

Testatkaa ymmärrystänne PostgreSQL:n taulukkosarakkeista.

Kertaus: taulukkosarakkeiden perusteet

Tässä oppitunnissa opitte, miten PostgreSQL:n taulukkosarakkeet toimivat alusta loppuun:

  • Määrittäkää taulukot type[]-syntaksilla CREATE TABLE -lauseessa
  • Lisätkää arvoja aaltosulkeliteraaleilla tai syntaksilla ARRAY[...]
  • Käyttäkää alkioita 1-pohjaisen indeksin avulla ja viipaleita syntaksilla lower:upper
  • Suodattakaa = ANY(col) -rakenteella yksittäisen arvon tai @>-rakenteella osajoukon perusteella
  • Mitatkaa pituus funktiolla array_length(col, 1)
  • Lisätkää alkioita funktiolla array_append() tai operaattorilla ||
  • Laajentakaa taulukot riveiksi funktiolla unnest()

Taulukot ovat tehokas PostgreSQL-ominaisuus, joka voi yksinkertaistaa skeemaa, kun arvoluettelo kuuluu yhdelle entiteetille.

Aloita maksutta

Opi SQL tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
46
Oppitunnit
183

Usein kysytyt kysymykset

Onko oppitunti ”Taulukosarakkeiden perusteet” ilmainen?

Kyllä – oppitunnin ”Taulukosarakkeiden perusteet” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko SQL Academy-kurssin, päivitä CoddyKit PROhon. SQL Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Taulukosarakkeiden perusteet”?

Luokaa ja lukekaa taulukkoarvoja. Harjoittelet SQL Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni SQL Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin SQL Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.

Kuinka kauan ”Taulukosarakkeiden perusteet”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä SQL Academy-oppitunnilla?

Kyllä. Jokainen SQL Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Taulukosarakkeiden perusteet
  2. Taulukoiden sisäinen haku
  3. UNNEST ja koostaminen
  4. Taulukot vastaan normalisoidut taulut
← Takaisin: SQL Academy