Postgres Velg hvor matrisen er tom

Postgres Velg hvor matrisen er tom

Arrays er veldig kjente datastrukturer innen mange objektorienterte programmeringsspråk og lagrer data i form av en gjeng/gruppe. PostgreSQL -databasen lar oss også bruke matriser for å lagre de forskjellige dataene. Det lar deg også la matriserene dine være tomme og ikke gi noen feil. Selv om metoden for lagring eller å sette inn data i en matrise i PostgreSQL -databasen er ganske annerledes, er det ganske enkelt og forståelig. Derfor, innenfor denne guiden i dag, vil vi diskutere flere måter å få tilgang til array -data. Det viktigste er at vi vil se på måtene å bare velge postene fra tabellen der den aktuelle array -plasseringen er tom gjennom indekser. La oss se hvordan vi gjør det.

La oss komme i gang med PostgreSQL Database Shell -applikasjonslansering. Du kan gjøre det ved å bruke søkefeltet i operativsystemet ditt mens du er logget inn. Skriv “PSQL” og åpne den på ett sekund. Den svarte skjermen som vises nedenfor vil være åpen på skrivebordet ditt og be deg om å legge til ditt localhost, databasenavn, portnummer, brukernavn og passord. Hvis du ikke har noen annen database og bruker, kan du gå med standarddatabasen og brukernavnet, i.e., Postgres. Vi har allerede opprettet en ny database og brukernavn; Vi vil gå med dem, jeg.e., Aqsayasin. Skallet vil da være klart for instruksjoner. La oss komme i gang med eksemplene nå.

Eksempel 01:

Før vi gjør noe, trenger vi en tabell for å lage matriser i kolonnene. Du må opprette en ny tabell i PostgreSQL -databasen ved hjelp av CREATE TABLE -kommandoen. Vi navngir denne tabellen som "atest" med tre kolonner -ID, navn og lønn. Navnet og lønnskolonnen er av "Array" -type. Derfor vil begge disse kolonnene lagre mer enn 1 verdi, og du kan få tilgang til dem etter indeksene deres. Etter å ha kjørt denne opprette tabellinstruksjonen, ble tabellen konstruert og ved hjelp av valgt instruksjon, har vi vist den tomme tabellen.

Nå er den tomme tabellen som har kolonner av array-type blitt opprettet. Det er på tide å se hvordan data kan settes inn i arraykolonner ved å bruke innsatsen i kommandoen. Vi legger til totalt 6 poster i 3 kolonner. Kolonnen "ID" vil bli gitt unikt til hver post, i.e., 1 til 6. For å legge til verdier i kolonnen "Array", start med de enkelt omvendte kommaene etter de krøllete parentesene og legg til verdiene dine i den, i.e., “''“. For strengtypeverdier, bruk doble inverterte komma for hver egen verdi i matrisen. For heltallverdier er det ikke nødvendig å legge til inverterte komma i krøllete parenteser for verdier. Noen av postene for kolonnene "Navn" og "lønn" er tomme. Postene er satt inn vellykket.

Når vi kjører "Select" -instruksjonen med "*" etterfulgt av navnet på en tabell "atest", har vi fått den nylig oppdaterte tabellen "atest" sammen med alle postene. Du kan se at 4, 5 poster over kolonnen "Navn" og 3, 4 poster over lønnskolonnen er tomme.

La oss anta at du vil se alle disse postene over tabellen "atest" der "lønn" -kolonnen med array-type er tom. Bruke SELECT -instruksjonen med hvor leddet vil gjøre sitt beste. For å sjekke tomheten til hele en rad med array-type kolonne, bruk “''“ Innenfor tilstanden. Utgangen fra denne instruksjonen viser oss at bare 2 poster har en tom rekke i kolonnen "lønn".

La oss se et blikk på dette konseptet en gang til. Denne gangen vil vi hente postene der kolonnen "Navn" har en tom matrise ved å bruke den viste valgte instruksjonen. Til gjengjeld viser den også 2 poster med tomme array -kolonner, i.e., "Navn".

La oss anta at vi ønsker å se alle postene til tabellen "atest" der kolonnen "navn" og "lønn" begge er tomme. For dette vil vi bruke instruksjonen nedenfor med hvor leddet for to forhold atskilt med og operatør. Denne spørringen gir oss en enkelt post som nedenfor.

La oss si at vi også har fylt alle de tomme postene over kolonnen "lønn". Du kan se at kolonnen "lønn" ikke har flere tomme matriser i den.

Ved å bruke Select Instruction for å hente alle postene til tabellen "atest" der kolonnen "lønn" har tomme verdier, har vi fått 0 poster til gjengjeld.

Eksempel 02:

La oss se dypt på å bruke de tomme matriser og hente bordene med slike forhold nå. Lag et nytt tabell "merke" med 4 kolonner, i.e., Id, produkt, merke og pris. To av kolonnene er matriser, i.e., "Merke" av teksttype og pris på "int" -type. Akkurat nå er vårt bord "merke" helt tomt i henhold til Select Instruction.

La oss begynne å sette inn noen poster i merkebordet. Benytt deg av innsatsen i kommandoen for å legge til data innen 4 av kolonnene. Noen av postene for array -kolonner "merke" og "pris" er tomme til forskjellige rader. De 5 postene er lagt til med hell.

Her er det overordnede tabellen "merke" i vår database med postene, jeg.e., Id, produkt, merke, pris.

Du vil hente alle poster over ID, produktkolonne, og bare den første indeksverdien av "merkevare" og "pris" -kolonner ". Du må nevne indeksnummeret mens du nevner kolonnenavnet i SELECT -instruksjonen som "merkevare [1]", og "Price [1]". Dette vil bare hente den første indeksverdien fra "merke" og "pris" -kolonnen som ignorerer alle de neste og forrige. Utgangen nedenfor viser en rekord for enkeltverdi for merkevare og pris. Du kan også se at den tredje og fjerde posten av merkevarekolonnen ikke har noen verdier på 1. indeks, og kolonneprisen har ingen verdier på 2. og 4. rad.

Her er en annen måte å spesifisere plasseringen av verdier for en matrise i PostgreSQL -kolonnen, i.e., kolonne [startindex: lastIndex]. La oss hente poster for ID, produkt, merkevare og bare 1. plasseringsrekord for "pris" -kolonnen fra tabellen "merke" der kolonnen "merke" har en tom matrise. Utgangen viser bare 2 poster for kolonne "merke" som har en tom matrise. Den første rekorden for kolonnen "Pris" er vist for begge postene.

Til nå hentet vi postene basert på en full tom rekke. La oss hente postene basert på den spesielle tomme indeksen for en matrise i en bestemt kolonne. Vi ønsker å hente alle poster for ID, produkt, bare 1. rekord for merkevare og pris for tabellen "merke" med betingelse av at den første indeksverdien innenfor array -kolonnen "pris" er null, i.e., tømme. Dette betyr at den bare vil vise de relative postene for andre kolonner når priskolonne -arrayindeksen 1 er tom. Til gjengjeld har vi to poster på skallskjermen vår.

Konklusjon:

Denne artikkelen demonstrerer de tomme matriser for kolonneverdier i databasen og henter tabellpostene i henhold til disse matriser. Den består av en grunnleggende metode for å initialisere array-type kolonner med matriseverdier og hente de relaterte kolonnene i henhold til de tomme "Array-Type" kolonneverdiene. Vi har diskutert ved hjelp av indekser, krøllete parenteser og "er null" nøkkelord for å oppnå dette målet. Alle spørsmålene er brukbare for enhver annen databaseplattform.