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ä.
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:
1234567SELECT * 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):
123SELECT name FROM department WHERE budget <= 500000
Nyt, ottaen huomioon saadun tuloksen, kirjoita toinen kysely hakeaksesi näiden osastojen työntekijöitä koskevat tiedot:
12345SELECT * 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:
-
Sisäinen kysely hakee tarvitsemiemme osastojen
names; -
WHERE-ehto tarkistaa, ovatko nämä osastot taulukossa sisäisestä kyselystä; -
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:
-
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
=,>,<,>=,<=,<>; -
Tietotyypit: palautetun sarakkeen tietotyypin tulee vastata saraketta, johon sitä verrataan, virheiden välttämiseksi;
-
Optimointi: sisäkkäiset kyselyt voivat olla hitaita, erityisesti jos ne suoritetaan jokaiselle pääkyselyn riville;
-
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?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme