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