Упит SELECT из једне табеле - нерешени задаци¶
Решити следеће задатке писањем упита SELECT. Приликом решавања нерешених задатака погледајте претходно решене примере који узимају податке из исте базе.
Упити се пишу и покрећу када се кликне New Query након што се покрене систем SQL Server и кликне на креирану базу Biblioteka у прозору Object Explorer. Фајл са упитима SQLQuery1.sql може, а и не мора да се сачува.
Након што се унесе једна команда, кликне се на дугме Execute. Уколико се у простору за писање команди налази више њих, потребно је обележити ону коју желимо да покренемо. Ако имате више база података, обавезно проверите да ли је поред овог дугмета назив базе у којој желите да вршите упите.
Сви SELECT упити који следе имају и пројекцију и селекцију и обрађују податке из базе података библиотеке. Следи списак свих табела са колонама. Примарни кључеви су истакнути болд, а страни италик.
Решења ових задатака се могу пронаћи у лекцијама посвећеним пројекцији и селекцији у упиту SELECT из једне табеле у оквиру материјала за предмет „Базе података“ у трећем разреду гимназије за ученике са посебним способностима за рачунарство и информатику. Лекције се налазе на следећим адресама:
Написати упит којим се приказују презимена запослених, њихове плате и који би износ плате имали након повећања од 10%.
Овим упитом се, наравно, не мењају подаци у бази, али на основу ових података, корисници базе, на пример чланови управе библиотеке, могу да донесу одлуку о увећању плата.
Написати упит којим се приказују имена, презимена и имејл адресе запослених уређена абецедно по презимену и имену.
Потребно је додати ORDER BY да би резултат био сортиран. Подразумевано је растуће сортирање. Сортира се по првом критеријуму, а уколико двоје запослених има исто презиме, уредиће се њихов редослед по имену.
Написати упит којим се приказују презиме, име, имејл адреса и износ плате свих запослених сортиран опадајуће према висини примања. Уколико неколико запослених има исту плату, сортирати их абецедно по презимену, а уколико имају и исто презиме онда их сортирати по имену.
За опадајући поредак је потребно додати реч DESC.
Написати упит којим се приказују идентификациони бројеви запослених који су менаџери.
Нису сви запослени менаџери. Уколико је неко менаџер, његов идентификациони број се налази у колони id_menadzera у табели zaposleni. Међутим, како један менаџер често води тим у којем има више запослених, у овој колони ће се његов идентификациони број појавити више пута, код сваког од запослених у његовом тиму. Да би се избегли ови дупликати, потребно је додати реч DISTINCT.
Написати упит којим се приказују запослени који зарађују више од 60.000.
Написати упит којим се приказују запослени који зарађују тачно 50.000.
Написати упит којим се приказују запослени који зарађују између 40.000 и 50.000, укључујући и те износе.
Написати упит којим се приказују запослени који би након повећања плате од 20% зарађивали више од 70.000, а сада зарађују мање.
Написати упит којим се приказују запослени који зарађују више од 60.000 и презиме им почиње на слово П.
Уколико хоћемо да проверимо да ли неки текст почиње одређеним словом или словима, можемо да користимо оператор LIKE. У шаблону који задамо том оператору можемо да користимо знак % као замену за ниједан, један или више знакова, и _ за тачно један знак.
Написати упит којим се приказују запослени чије име има тачно четири слова.
Написати упит којим се приказују сви подаци о запосленима који у оквиру своје имејл адресе имају реч „petrovic“.
Написати упит којим се приказују сви подаци о запосленој Маји Петровић.
Написати упит којим се приказују запослени чији су менаџери са идентификационим бројевима 1, 2 и 3.
У овом упиту је могуће користити оператор IN којим се проверава да ли се нека вредност налази у скупу датих вредности.
Написати упит којим се приказују запослени чији су менаџери немају идентификационе бројеве 1 и 3.
Написати упит којим се приказују запослени који немају менаџера.
Уколико запослени нема менаџера, поље id_menadzera је празно. Иако кажемо да то поље садржи null, null није вредност и не можемо да је упоређујемо као друге вредности. Постоје посебни оператори који проверавају да ли је поље null или није.
Написати упит којим се сви запослени који имају менаџера приказују уређени абецедно по презимену, а уколико имају исто презиме онда уређено абецедно по имену
Написати упит којим се приказују запослени који су почели да раде пре 2015. године.