Странице сајта
Prvi razred
Drugi razred
Учесници
Увод
Материјал за самостални рад док смо на паузи
SQL упити
Табеле
Форме
Упити
Извјештаји
Treći razred
Četvrti razred
Opšti predmeti
Brodomašinski tehničar
Nautički tehničar
Матура
Преквалификација
SELECT упит
SQL упити су најуобичајени начин на који се издају наредбе базама података. Постоје више врста SQL упита за различите сврхе.
INSERT упити за унос података у базу.
DELETE упити за брисање података у бази.
UPDATE упити за мјењање података.
и најчешће коришћени SELECT упити којима се повлаче подаци из базе и врше се разна рачунања на основу њих.
Основни SELECT упит
Сви SELECT упити имају сличну структуру.
SELECT <spisak kolona koje nam trebaju razdvojene zarezima>
FROM ime_tabele_ili_tabela_u_kojima_su_gornje_kolone
Напомена о форматирању: Нови редови се могу и неморају користити. Аутор их најчешће користи ради прегледности.
Упити у већини случајева се могу писати малим и великим словима без проблема. Аутор користи велика штампана слова за кључне ријечи (FROM, SELECT, WHERE, ORDER BY итд.) опет ради боље прегледности. У потпуности је валидно користити и from, select, where, from итд.
Када се набрајају, рецимо колоне, потребно је елементе списка раздвојити зарезима. При томе зарези не смију бити на крају и почетку списка. Нпр. "А,Б,Ц" или "А, Б, Ц" је у реду, али ",А,Б,Ц" или "А, Б, Ц," није правилно.
Примјер:
Направи упит којиме се повлаче сви редови из табеле tabela1 и специфично колоне kolona1, kolona2 и kolona3,
Рјешење:
SELECT kolona1, kolona2, kolona3 FROM tabela1
Приказивање свих колона преко *
Ако желимо да прикажемо све колоне умјесто да морамо навести сва њихова имена, довољно је да умјесто таквог списка унесемо звјездицу *.
Примјер: Направи упит који приказује све колоне и редове табеле Products.
Рјешење:
SELECT * FROM Products
Звјездица не мора бити сама у списку колона. Поред звјездице (одвојено зарезом) могу се уписати и друге колоне.
Примјер: Направи упит који приказује имена и све колоне купаца.
Рјешење:
SELECT CustomerName, * FROM Customers
Примјетите да се сада ContactName колона два пута поновила. То је зато што ће звјездица аутоматски бити замјењена са списком СВИХ колона. И зато се ова колона јавља два пута, јер смо већ једном ми је експлицитно навели па је програм такође накнадно још једном додао кад је рјешавао проблем звјездице.
Звјездица је као што се из првог примјера види ваома згодна за случајеве када незнамо називе колона неке табеле а само желимо да добијемо све податке из ње. Само ставимо звјездицу умјесто назива колона и све колоне ће бити излистане. Лако је накнадно погледати како се колоне зову у преписати њихове називе умјесто *.
Сортирање резултата
Сортирање се врши преко ORDER BY наредбе. Она долази на крају SELECT упита након што се одаберу колоне, одаберу табеле и филтрирају резултати. ORDER BY је једноставан за коришћење:
<остатак упита>
ORDER BY kolona1 (ASC|DESC), kolona2 (ASC|DESC) итд.
Након ORDER BY наведемо списак колона по којим желимо да сортирамо редом којим желимо да се сортирање одради. Поред сваке колоне можемо навести ASC или DESC како би одредили да ли желимо да сортирамо од мањих ка већим А-Ш (ASC) или обратно (DESC). Ако не наведемо ни једно ни друго подразумјева се ASC.
SELECT Ime, Prezime FROM UceniciOdjeljenja ORDER BY Prezime, Ime
Овај упит би сортирао ученике неког одјељења као што су у дневнику, по презимену па по имену. Пошто није наведено ни ASC ни DESC сортирање је А-Z А-Ш.
Примјер: Направи упит који приказује све колоне и редове табеле Customers и онда резултат сортира по земљи (Ш-А), Граду (А-Ш) и адреси (А-Ш).
Рјешење:
SELECT *
FROM Customers
ORDER BY Country DESC, City ASC, Address
Треба можда истаћи да несмије бити зареза између имена колоне и њеног ASC/DESC јер то није посебна колона па да тако буде одвојено.
У горњем упиту нисмо навели ни ASC ни DESC за Address али ће адреса свеједно бити сортирана А-Ш јер ако ништа није наведено програм сам додаје ASC.