SQL-kyselyt ovat RDBMS CRUD: n liha ja perunat (luo, lue, päivitä, poista). Mutta kun sovelluksesi tai yritystietokantasi kasvaa, älykkäiden kyselyiden tarve ehdollisten, vaatimuskohtaisten tietojen hakemiseksi tulee välttämättömäksi.

SQL on suhteellisen kattava, ja se sisältää monia toimintoja, joista jokainen sopii hyvin erilaisiin yrityskäyttöihin. Yksi tällainen toiminto sisältää alikyselyjen käytön.

Tehdäksesi koodeistasi tehokkaita, voit käyttää SQL-koodien alikyselyitä tietojen hakemiseen, olemassa olevien muuttujien manipulointiin ja useiden tavoitteiden saavuttamiseen yhdellä kertaa.

Mitä ovat SQL-alikyselyt?

Alakysely on sisäkkäinen kysely, joka toimii parametrina toisessa pääkyselyssä. Alakysely on an sisäinen kysely, kun taas pääkysely on ulkoinen kysely.

Alakyselyn oletetaan palauttavan tiedot pääkyselyn sulkeissa olevana argumenttina, kun taas pääkysely noutaa edelleen lopputuloksen.

Alakyselyt on upotettu sisään Valitse lausunnossa tai Missä lauseke. Tällainen rakenne mahdollistaa alikyselyn käyttäytymisen hyvin kuvattuna tietojen suodatusehtona. Valitettavasti alikyselyt voivat käyttää vain

instagram viewer
Ryhmäperuste komennot ja ei Tilauksen mukaan komennot, koska ne ovat sallittuja vain pääkyselyssä.

Aiheeseen liittyvä: Kaikki mitä sinun tarvitsee tietää SQL GROUP BY -lausunnosta

Yleensä jokainen alikysely sisältää yhden sarakkeen, jossa on Valitse lauseke. On kuitenkin tilanteita, joissa pääkyselyssä on useita sarakkeita. Alikysely voidaan upottaa toiseen alikyselyyn, jolloin siitä tulee sisäkkäinen alikysely.

Alakyselyn rajoitus on seuraava:

Valitse sarakkeen_nimi taulukosta, jossa ehto= 
(VALITSE ehdollinen_sarake taulukosta) aliakseksi;

Oletetaan esimerkiksi, että sinulla on seuraava taulukko:

ID Etunimi Toinen nimi Toimistomaksu
1 John Wick 5000
2 Robert Graham 4000
3 Stephen Hicks 8000
4 Bob Marley 1000
5 Mary Ellen 9000

Voit kirjoittaa tähän taulukkoon alikyselyn useiden koodirivien kirjoittamisen sijaan, jotta voit hakea niiden ihmisten nimet, jotka ansaitsevat yli keskimääräisen toimistopalkkion.

Aiheeseen liittyvä: Kuinka luoda taulukko SQL: ssä

Tältä kysely näyttää:

Valitse * agent_details-kohdasta
missä Agency_Fee > (valitse avg (Agency_Fee) kohdasta agentin_details);

Komento ennen > merkki on ulkoinen kysely, kun taas kaikki sen jälkeen > merkki on sisäinen kysely.

Sisäinen kysely laskee keskimääräisen toimistopalkkion alikyselyn sisällä, ja ulompi kysely näyttää kaikki arvot, jotka ovat suurempia kuin laskettu keskiarvo.

Kuinka käyttää alikyselyitä SQL: ssä?

Voit käyttää alikyselyjä SQL: ssä muutamalla eri tavalla.

Alakyselyt Missä-lauseella

Yksi SQL: n alikyselyn perusrakenteista on Where-lauseen sisällä. Se on yksinkertaisin tapa määritellä, mitä etsit. Select-käsky palauttaa arvot alikyselyn ehtojen mukaisesti ja käyttää sitä pääkyselyn parametrina.

Kyselyn rakenne:

valitse * taulukon_nimi
jossa sarakkeen_nimi = (valitse sarakkeen_nimi taulukosta taulukon_nimi);

Selitetään tämä esimerkillä.

Oletetaan, että haluat löytää toiseksi korkeimman toimistomaksun agency_details-taulukosta. Tätä varten SQL: ssä on vaihtoehtoisia toimintoja; Paras tapa on kuitenkin käyttää alikyselyä.

Voit määrittää alikyselyn seuraavasti:

valitse *, max (toimistomaksu)
agent_detailsista
missä Edustajan_maksu < (valitse max (Agentin_maksu) agentin_tiedot-kohdasta);

Tuloksena oleva lausunto näyttää sinulle 8000, joka on toiseksi korkein maksu annetussa taulukossa. Kun kysely suoritetaan, alikysely laskee enimmäisarvon maksuluettelosta. Korkein maksu (9000) on tallennettu muistiin.

Kun tämä osa on laskettu, lasketaan kyselyn toinen osa, joka löytää taulukosta toiseksi korkeimman maksun (koska < merkkiä käytetään). Lopputulos on 8000, joka on taulukon toiseksi korkein maksu.

Alikyselyt From-lauseessa

Toinen muunnelma alikyselyissä on ehdon välittäminen alkaen lauseke. Vastaavanlaisena konseptina sisäinen kysely käsitellään ensin ja ulompi kysely käsitellään sen jälkeen. Sisäinen kysely suodattaa tiedot ja näyttää tulokset, joissa ID = 3.

Tässä kysely viitteeksi:

valitse a.* kohdasta (
valitse agentti_maksu kohdasta agent_details
jossa ID = 3) a: na;

Tämä on hyvin perusrakenne; Kuitenkin mitä monimutkaisempia tietotaulukot ovat, saat enemmän rivejä tietoja, jotka vastaavat ehtojasi.

Alakyselyjen käyttäminen Insert Into -lausekkeen kanssa

Jos haluat päivittää olemassa olevan taulukon uusilla tietoriveillä, voit käyttää Laittaa sisään lausunto. Alakysely voi osoittautua varsin hyödylliseksi, jos haluat lisätä arvoja tiettyjen ehtojen perusteella.

Kyselyn rakenne:

lisää kohtaan taulukon_nimi 
valitse * taulukon_nimi
missä sarakkeen_nimi = ehdot;
valitse * taulukon_nimi;

Tässä on esimerkki siitä, kuinka voit käyttää lisäystä lauseeseen alikyselyn kanssa:

lisää kohtaan agent_details
valitse * agent_detailsista
missä agentuuripalkkio (1000, 5000);
valitse * agenttitiedot;

Kun kysely on suoritettu, ehtoa vastaavat arvot lisätään uudelleen olemassa olevaan taulukkoon. The valitse * viite poimii kaikki sarakkeet yhteen ja lisää ne agent_details-taulukkoon sellaisenaan. The sisään lausetta käytetään useiden suodatusehtojen määrittämiseen kerralla.

Alikyselyiden käyttö päivityslausunnon kanssa

On tilanteita, joissa haluat päivittää taustalla olevat taulukot kyselyjen suorittamisen aikana. Voit tehdä tämän käyttämällä päivittää lauseke yhdessä kyselykomentojen kanssa.

Näin kirjoitat alikyselyn päivittääksesi taulukon tiedot yhdessä tapauksessa:

päivitä taulukon_nimi 
aseta sarakkeen_nimi = uusi_arvo
missä sarakkeen_nimi =
(valitse sarakkeen_nimi taulukosta taulukon_nimi jossa = );

Tässä on esimerkki päivityskäskyn käytöstä:

PÄIVITYS agentin_tiedot 
SET Agency_maksu = 35000
MISSÄ toimistomaksu =
(SELECT Agency_maksu FROM agentin_tiedot WHERE Etunimi='John');
valitse * agenttitiedot;

Alakysely suodattaa sarakkeen agentuurimaksu ja erottaa rivit, joilla Etunimi vastaa John. Seuraavaksi suoritetaan ulompi kysely, jossa agenttipalkkio päivitetään 35 000:een John Wickille.

Voit ohittaa a valitse * lausunto lopullisten tulosten tarkistamiseksi; huomaat, että John Wickin toimistomaksu on päivitetty 35 000:een, koska vain kyselyssä määritettyjä ehtoja vastaavia instansseja on.

Alakyselyiden käyttäminen poistolausekkeen kanssa

Aivan kuten päivityslauseke, jossa päivität tietorivejä olemassa olevassa taulukossa, poistaa lauseke poistaa datarivit ehdon perusteella.

Poista-lauseen rakenne on:

poista taulukosta taulukon_nimi, jossa muuttujan/sarakkeen nimi = 
(valitse sarakkeen_nimi taulukosta taulukon_nimi jossa = ehto);

Tässä on esimerkki:

Poista agent_details-kohdasta 
jossa Etunimi IN
(valitse Etunimi agentin_tiedoista, jossa edustajan_maksu = 9000);
valitse * agenttitiedot;

Alikyselyiden käyttäminen SQL: n sisällä

Alakyselyt ovat erinomainen ominaisuus SQL: ssä, mikä voi säästää sinua kirjoittamasta loputtomia rivejä tarpeettoman koodin. Kun pystyt käyttämään alikyselyjen perustoimintoja tarjousten tekemiseen, et koskaan halua huolehtia SQL-koodauksen monimutkaisuudesta.

On aina parasta parantaa olemassa olevaa SQL-tietouttasi varmistaaksesi, että olet aina pelisi kärjessä. Voit olla varma, että SQL-huijaustaulukot voivat antaa sinulle hyvän käsityksen siitä, miten voit päivittää perusasiat yhdellä silmäyksellä.

Essential SQL Commands -huijauslehti aloittelijoille

Haluatko oppia lisää SQL: stä? Erilaisten SQL-kyselykomentojen hallinta on loistava tapa päästä eteenpäin.

Lue Seuraava

JaaTweetSähköposti
Liittyvät aiheet
  • Ohjelmointi
  • Ohjelmointi
  • SQL
  • Ohjelmointityökalut
Kirjailijasta
Gaurav Siyal (35 artikkelia julkaistu)

Gaurav Siyalilla on kahden vuoden kirjoituskokemus, joka on kirjoittanut sarjalle digitaalisia markkinointiyrityksiä ja ohjelmistojen elinkaaridokumentteja.

Lisää Gaurav Siyalilta

tilaa uutiskirjeemme

Liity uutiskirjeemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia ​​e-kirjoja ja eksklusiivisia tarjouksia!

Klikkaa tästä tilataksesi