Kui üksik päring kipub liialt keerukaks minema või ei paista mõnd tulemust olema lootustki tavalise päringuga välja arvutada, siis võib aidata alampäring. Nii nagu avaldiste kirjutamisel võib igasugu väärtused asendada funktsioonidega, nii saab SQL-päringute puhul olemasolevad kohad asendada alampäringutega. Kusjuures tasub eristada kolme võimalust.
Ühel juhul antakse alampäringu vastuseks terve tabel (nt. SELECT * FROM lapsed). Sel juhul saab alampäringu panna kohale, kus muidu oli tabeli nimi.
Teisel juhul väljastab alampäring ühe veerutäie andmeid. Sel juhul võib kontrollida, kas uuritav rida vastab vähemasti ühele päringus väljastatud väärtustest. Kontrollimiseks käsklus IN, millest edaspidi.
Kolmas ja loodetavasti kõige lihtsam võimalus on, kus alampäring väljastab vaid ühe arvu. Sel juhul saab päringu panna selle väärtuse kohale. Alampäring kirjutatakse alati sulgudesse.
Tabeli asendaja
Siin tehti võimalikult lihtne näide, kus päringu tulemusena loodud tabelist küsitakse eraldi väärtused välja. SELECT * FROM lapsed annab tulpadeks id, eesnimi, pikkus ja synniaasta. Täiend “as tabel1” ütleb, et selle alampäringu tulemust saab edaspidises päringus kasutada nime all tabel1. Ning praegu lihtsalt küsitaksegi sealt soovitud tulbad välja.
[crayon-68109c533cd80475959966/]
Selline vahetabelist edasi küsimine võib aga toimuda ka tunduvalt keerulisemate päringute puhul, kus ühe päringu tulemusena saadakse tabelikujuline vastus kokku ning seda asutakse järgmise päringuga edasi töötlema.
Väärtuse asendaja
Agregaatfunktsiooni või ka ühe konkreetse rea lahtri küsimise peale saab SQL-päringu panna väljastama vaid üht väärtust. Seda üksikut väärtust võib taas edaspidises päringus kasutada. Siin leitakse kõigepealt alampäringuga laste keskmine pikkus. Edasi väljastatakse kõikide laste andmed, kelle pikkus ületab keskmist.
[crayon-68109c533cd85726961236/]

[crayon-68109c533cd87610979814/]
[crayon-68109c533cd88667357879/]

Väljaarvutatud väärtust võib ka avaldise sees tarvitada. Siin leitakse iga lapse pikkuse erinevus keskmisest pikkusest.
[crayon-68109c533cd8a664852247/]
