Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Sisäkkäiset Kyselyt | Sisäkkäiset alikyselyt
SQL Jatkotasolla

Sisäkkäiset Kyselyt

Pyyhkäise näyttääksesi valikon

Koulun hallinto on tyytyväinen viimeaikaisiin saavutuksiisi ja haluaa edetä eteenpäin.

Kesäloman alkaessa sinulla on mahdollisuus tutkia uusia menetelmiä ja kehittää SQL-taitojasi.

Tarkastelun kohteena ovat sisäkkäiset kyselyt, jotka ovat keskeinen käsite SQL:ssä.

Note
Määritelmä

Sisäkkäiset kyselyt eli sisäkkäiset alikyselyt ovat olennaisia SQL:n osia, joissa kysely sijaitsee toisen kyselyn sisällä. Näiden rakenteiden avulla voidaan suorittaa erilaisia toimintoja, kuten tietojen suodattamista, laskentaa ja hakua, mikä usein edellyttää alikyselyjen käyttöä.

Tarkastellaan esimerkkiä yrityksen tietokannasta. Yrityksen kasvaessa tietokantaan on lisätty uusi department-taulu. Tämä muuttaa tietokannan toimintaa.

Tutustu uuden taulun rakenteeseen nähdäksesi sen roolin tietokannassa:

Uusi taulukko sisältää osastot, niiden tyypit ja budjetit. employee-taulukossa, kuten saatat muistaa, on tietoa siitä, mihin osastoon kukin työntekijä kuuluu.

Tarkastellaan esimerkkiä, jossa sisäkkäisiä kyselyitä käytetään hakemaan ne työntekijät, jotka työskentelevät osastoissa, joiden budjetti on 500 000 dollaria tai vähemmän:

1234567
SELECT * FROM employees WHERE department IN ( SELECT name FROM department WHERE budget <= 500000 )

WHERE-ehtoa käytetään määrittämään, että osaston nimi tulee esiintyä sisäisen kyselyn hakemassa taulussa.

Jaa tämä kysely kahteen erilliseen kyselyyn nähdäksesi, miten se toimii. Ensin haetaan osastojen nimet, joiden budjetti on 500 000 dollaria tai vähemmän (sisäinen kysely):

123
SELECT name FROM department WHERE budget <= 500000

Nyt, ottaen huomioon saadun tuloksen, kirjoita toinen kysely hakeaksesi näiden osastojen työntekijöitä koskevat tiedot:

12345
SELECT * FROM employees WHERE department IN ( 'Marketing', 'Human Resources', 'Finance', 'Customer Service', 'Legal' )

Tämän kyselyn tulos on sama kuin ensimmäisen kyselyn.

Tässä vaiheittainen erittely:

  1. Sisäinen kysely hakee tarvitsemiemme osastojen names;

  2. WHERE-ehto tarkistaa, ovatko nämä osastot taulukossa sisäisestä kyselystä;

  3. Saamme halutun tuloksen.

Tässä on sisäisen kyselyn perussyntaksi:

SELECT columns
FROM table_1
WHERE column_name IN (
  SELECT column
  FROM table_2
  other clauses
)

Kun käytät sisäkkäisiä kyselyitä, pidä mielessä seuraavat tärkeät seikat:

  1. Yksi tulos sisäisessä kyselyssä: varmista, että sisäkkäinen kysely palauttaa vain yhden sarakkeen. Jos sitä käytetään vertailussa, sen tulisi ihanteellisesti palauttaa yksi arvo. Tämä on tärkeää operaattoreille kuten =, >, <, >=, <=, <>;

  2. Tietotyypit: palautetun sarakkeen tietotyypin tulee vastata saraketta, johon sitä verrataan, virheiden välttämiseksi;

  3. Optimointi: sisäkkäiset kyselyt voivat olla hitaita, erityisesti jos ne suoritetaan jokaiselle pääkyselyn riville;

  4. IN-operaattorin käyttö: sisäkkäisissä kyselyissä käytetään usein IN-operaattoria arvojen tarkistamiseen osajoukosta. Voit myös käyttää vertailuoperaattoreita monimutkaisempiin ehtoihin.

1. Mikä on sisäkkäinen kysely SQL:ssä?

2. Mitä SQL-operaattoria käytetään yleisesti sisäkkäisten kyselyjen kanssa arvojen tarkistamiseen osajoukosta?

3. Miksi on tärkeää, että sisäkkäisen kyselyn palauttaman sarakkeen tietotyyppi vastaa saraketta, johon sitä verrataan?

question mark

Mikä on sisäkkäinen kysely SQL:ssä?

Valitse oikea vastaus

question mark

Mitä SQL-operaattoria käytetään yleisesti sisäkkäisten kyselyjen kanssa arvojen tarkistamiseen osajoukosta?

Valitse oikea vastaus

question mark

Miksi on tärkeää, että sisäkkäisen kyselyn palauttaman sarakkeen tietotyyppi vastaa saraketta, johon sitä verrataan?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 1

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 2. Luku 1
some-alt