Упити базе података преузимају одређене информације из базе података.
Потупит је упит унутар другог упита. Потупит такође може садржати други потупит. За њих се каже да су „угнежђени“ потупити. Спајање је када су две или више табела референциране у клаузули „Од“ упита. Различити мотори базе података могу различито оптимизовати подупите и спојеве. На пример, ДБ2 оптимизатор ће трансформисати подупит у придруживање ако су испуњени одређени критеријуми. У неким случајевима, спајање даје боље перформансе од подупита.
Шта чини подупит
Потупит је израз „СЕЛЕЦТ“ унутар клаузуле „ВХЕРЕ“ или „ХАВИНГ“ спољне изјаве „ИНСЕРТ“, „УПДАТЕ“, „МЕРГЕ“ или „ДЕЛЕТЕ“. Потупит се такође назива „унутрашњи упит“ или „унутрашњи избор“. Потупит може имати клаузулу „ФРОМ“ са једном или више табела и опционо може имати клаузулу „ВХЕРЕ“, „ГРОУП БИ“ или „ХАВИНГ“. Увек се налази у загради.
Видео дана
Предности и недостаци потупита
Потупити су корисни јер структурирају упит да изолују сваки део исказа, изврши исту операцију која би обично захтевала сложене спојеве и спојеве и која је лакша читати. Подупити су чак били основа за назив „Струцтуред Куери Лангуаге“ (СКЛ) због њихове лако читљиве структуре. Недостатак је што не можете да измените табелу и изаберете из исте табеле у оквиру подупита у истом СКЛ изразу. Подупити такође могу потрајати дуже да се изврше од спајања због начина на који их оптимизатор базе података обрађује.
Шта чини придруживање
Већина потупита се може преписати као спојеви, а већина спојева се може преписати као потупита. Спајање дефинише две или више табела помоћу повезане колоне. Табеле се обично спајају на примарним и страним кључевима. На пример, табела запослених може имати примарни кључ колоне ИД-а запосленог, док табела радног листа такође има колону ИД-а запосленог која је страни кључ за табелу запослених. СКЛ придруживање се може написати као „ВХЕРЕ емплоиее.емпид = тимесхеет.емпид“ или „ФРОМ Емплоиее ЈОИН тимесхеет ОН (емплоиее.емпид = тимесхеет.емпид).“
Предности и недостаци спојева
Главна предност спајања је што се брже извршава. Крајњи корисник можда неће приметити повећање перформанси. Међутим, пошто су колоне посебно именоване и индексиране и оптимизоване од стране машине базе података, време преузимања ће скоро увек бити брже од времена подупита. Постоје и унутрашњи и спољашњи спојеви, леви и десни спојеви, пуни спојеви и унакрсни спојеви. Недостатак коришћења спојева је што их није тако лако читати као подупите. Још један недостатак је то што може бити збуњујуће у погледу тога који је спој одговарајући тип спајања који треба користити да би се добио исправан жељени скуп резултата.