ПостгреСКЛ ИН клаузула

Postgreskl In Klauzula



Постоји много клаузула које можете користити у ПостгреСКЛ-у. ИН клаузула је једна од ових клаузула и има много предности када разумете како да је користите, посебно када се комбинује са клаузулом ВХЕРЕ. ИН клаузула ради углавном са СЕЛЕЦТ наредбом да филтрира како желите да се упит изврши. Када се изврши, ИН клаузула проверава наведену листу да види да ли одговара критеријумима и даје одговарајуће вредности.

Разумевање рада са ПостгреСКЛ ИН клаузулом

У ПостгреСКЛ-у користите ИН клаузулу са клаузулом ВХЕРЕ да филтрирате излаз провером листе вредности, а резултат је Боолеан вредност.

Ево синтаксе коју треба користити:







вредност ИН (вредност1, вредност2, вредност_н);

Дата синтакса узима вредност и проверава је у односу на вредност1, вредност2 и вредност_н. Затим враћа логички ако постоји подударање. Листа вредности за проверу може бити било ког типа литерала укључујући низове и целе бројеве. Осим тога, можете креирати потупит као што је СЕЛЕЦТ изјава.



Хајде да разговарамо о различитим начинима коришћења ПостгреСКЛ ИН оператора.



1. Рад са потупитом

Као што смо раније споменули, вредност за проверу може бити потупит који издваја вредности помоћу израза упита као што је СЕЛЕЦТ. На овај начин можете поставити упит из табеле да бисте проверили вредности дате колоне. Користимо следећу табелу за наш пример:





Претпоставимо да желимо да проверимо све купце чији би „ордер_ид“ могао бити било која од вредности које су наведене у одељку упита. Додамо циљну вредност као први део нашег исказа, а затим користимо клаузулу ВХЕРЕ са клаузулом ИН да креирамо упит.



Ево како изгледа наш упит:

ПостгреСКЛ проверава колону „ордер_ид“ у табели „цустомерс“ и враћа све записе чији се „ордер_ид“ подудара са било којим од оних које смо навели у заградама.

За прву инстанцу, користили смо случај целе листе вредности. Такође можемо проверити у односу на жице. Имајте на уму да ако се сви стрингови које наведете не подударају са циљном вредношћу, ништа се не враћа. Следећи пример садржи неке стрингове који нису присутни у нашој табели. Такви низови ће бити прескочени и само они одговарајући низови ће бити приказани у следећем излазу:

2. Рад са ИН(СЕЛЕЦТ)

Понекад ручно одређивање листе вредности можда неће радити. Можете изабрати да користите СЕЛЕЦТ наредбу да бисте преузели листу вредности из ваше табеле и да их користите за проверу у односу на циљну вредност. Додавањем следеће табеле у нашу базу података, можемо је комбиновати са претходном табелом „купци“ да бисмо направили наш потупит:

Рецимо да желимо да прикажемо записе из табеле „поруџбине“ само ако је циљна вредност (ордер_ид) у табели „купци“. Овде је колона „цустомерс.ордер_ид“ наша листа вредности и проверавамо њене вредности у односу на оне у колони „ордерс.ордер_ид“.

У овом случају, само три уноса одговарају претраживању и то је оно што добијамо као излаз за нашу ИН(СЕЛЕЦТ) ПостгреСКЛ клаузулу.

3. Рад са клаузулом НОТ ИН ПостгреСКЛ

Користећи претходну команду, можемо изабрати да прикажемо друге вредности које се не подударају са циљном вредношћу. За то радимо супротно од онога што чини ИН клаузула. Дакле, негирамо наредбу да буде НОТ ИН.

Ево како пишемо нашу нову команду:

Приметите да добијамо другачији излаз од оних које смо добили у примеру 2. То је зато што радимо са НОТ ИН уместо клаузуле ИН.

У идеалном случају, можете додати НОТ кад год желите да негирате резултате које добијате са клаузулом ПостгреСКЛ ИН. Апликације су бескрајне. Када желите да проверите вредности и видите да се брзо подударају, ИН клаузула је ваш најбољи пријатељ.

Закључак

ИН клаузула ради са клаузулом ВХЕРЕ да провери циљну вредност у односу на листу вредности. ИН клаузула враћа Боолеан који потврђује да ли се циљна вредност подудара на листи вредности коју сте навели. Можете навести вредности као литерале или користити наредбу СЕЛЕЦТ да бисте креирали потупит који ћете користити. Дали смо три примера како можете да користите клаузулу ПостгреСКЛ ИН. Надамо се да вам је то дало увид у разумевање како да радите са ПостгреСКЛ ИН клаузулом.