Postgres hvor i matrise

Postgres hvor i matrise
Hvis du er kjent med objektorienterte språk, har du kanskje hørt et veldig kjent konsept av matriser. Arrays er datastrukturene som har samme type elementer eller elementer sammen på overførbare minneplasser. For å få verdiene fra et bestemt minneplassering av en matrise, må vi bruke noen betingelser i koden vår. PostgreSQL -databasen tillater også å holde matriser som data i tabellene. Å få verdier fra matriser i PostgreSQL gir oss "hvor" -klausulen til spørringsdata. Hvis du leter etter en guide for å lære om hvordan du spørte data fra matriser ved hjelp av hvor leddet, er denne guiden ment for deg.

Eksempel 01:

Før vi bruker hvor leddet for å spørre eller hente dataene fra en matrise, må vi ha noen kolonne av array-typen i en databasetabell. For det må vi først lage en tabell i databasen vår. Så åpne spørringsverktøyet til PostgreSQL PGADMIN ved å tappe på ikonet til spørringsverktøyet. Bruk Create Table -kommandoen vist på bildet nedenfor for å generere en ny tom tabell som heter “Test” i databasen med tre kolonner. Kolonne -ID er av "int" -type, navn er av "tekst" -type, og kolonnemerkene er av heltallstype -matrise. Ved utførelse av denne kommandoen med "Kjør" -ikonet fra oppgavelinjen, er tabellen opprettet i henhold til suksessmeldingen.

For å spørre array -data med hvor klausulen, må vi ha noen data i en kolonne av array -typen. Derfor brukte vi innsatsen i instruksjon for å legge til data i alle tre kolonnene i tabellen "Test". For å legge til data i en kolonne -type kolonne “Marks”, må vi bruke nøkkelordet med data i firkantede parenteser som vist. Vi har satt inn totalt 5 poster i denne tabellen på en gang ved hjelp av "Kjør" -ikonet fra ovennevnte oppgavelinje. Poster har blitt satt inn vellykket.

La oss kjøre den utvalgte instruksjonen til PostgreSQL med "**" -tegnet for å hente alle postene fra tabellen "Test". Når vi kjører SELECT -spørringen, har vi alle tre kolonnene med alle 5 poster. Du kan se at kolonnen “Marks” har array -typen heltalldata i den.

La oss ta en titt på den enkle spørringen for å hente spesifikke poster fra spørringen. Så vi har brukt SELECT -instruksjonen for å hente ID, navn og indeks 2 -verdier fra kolonnen “Marks” fra en tabell “Test”. Vi må spesifisere indeksen i de firkantede parentesene sammen med navnet på en kolonne, i.e. Merker [2]. Vi har fått resultatet nedenfor for å utføre denne kommandoen gjennom "Kjør" -knappen. Du kan se at alle postene fra ID- og navnekolonnen er vist. På den annen side har kolonnen “Marks” blitt vist med de eneste postene på sitt andre sted eller indeks 2 i tabellen “Test”.

La oss bruke WHERE -leddet i spørringen vår for å hente spesifikke poster fra tabellen "Test". Så vi bruker SELECT -instruksjonen i spørringsverktøyet for å hente de eneste postene for ID, navn og merker ved indeks 2 fra tabelltesten. WHERE -leddet har blitt brukt som betingelse for å se etter postene fra kolonnen “Marks” der indeksen 2 har en verdi lik 40 eller større enn 40. Etter å ha utført denne instruksjonen, har vi bare to poster fra "test" -tabellen der verdien ved indeks 2 i kolonnen "merker" har en verdi på 40 eller mer enn den som vist i bildet nedenfor.

For å velge alle postene fra tabellen med samme der tilstand, må vi bruke "*" "-tegnet i SELECT -instruksjonen. Denne kommandoen vil vise alle tre elementene fra en enkelt matrise for begge de to postene av tabelltesten.

Eksempel 02:

La oss se på et annet eksempel på PostgreSQL for å bruke WHERE -leddet for å hente spesifikke poster på forskjellige steder. For det må vi lage en ny tabell som heter “Ny” som utfører Create Table -instruksjonen på spørringsverktøyet med “Run” -ikonet. Vi har lagt til totalt 3 kolonner til det. Den første kolonnen, “ID” er av enkel heltallstype, den andre kolonnen “Navn” er av teksttype-matrise, og den siste kolonnen “Lønn” er av 2-dimensjonalt heltallsarray-type. Etter utførelsen er bordet opprettet med hell.

La oss sette inn noen poster i det ny genererte tabellen “New” som for tiden er tomt. For det må vi bruke innsatsen i instruksjon i spørringsverktøyet for å legge til verdier i ID, navn og lønnskolonne. Du kan se det for å legge til verdier i kolonnen
"Navn" av array -type, vi må bruke den enkelt omvendte kommandoen og krøllete parenteser for å holde verdier av strengtyper. For å legge til poster i den 2-dimensjonale array-kolonnen "Lønn", trengte vi å bruke de enkeltvendte kommaene rundt de krøllete parentesene. Mens vi er innenfor de krøllete parentesene, må vi bruke to par til eller krøllete parenteser for å legge til poster. Vi har lagt til 5 poster totalt.

La oss se alle postene for tabellen “Ny” ved hjelp av Select Instruction på spørringsområdet med “*” -tegn. Vi har fått tabellen “nytt” i full form som nedenfor.

La oss hente postene fra spalten av array -typen i tabellen "Ny" ved hjelp av WHERE -leddet. Så vi har bestemt oss for å hente alle postene fra denne tabellen der indeksen "2" av kolonnen "Navn" ikke har noen verdi, i.e. '“”'.For å få det, må vi bruke indeksen 2 i firkantede parenteser sammen med navnet på en kolonne “Navn” som bruker WHERE -leddet. Instruksjonen er vist på bildet. Etter å ha kjørt den, har vi bare to poster for denne tilstanden.

Dette handlet om å bruke WHERE-leddet på en 1-dimensjonal array-kolonne for å hente poster. La oss bruke WHERE-leddet på den 2-dimensjonale array-kolonnen, i.e. Lønn. Så vi har bestemt oss for å hente og vise alle tabellen “nye” poster ved hjelp av “*” -tegnet. Vi har brukt hvor tilstanden bare får tabellrader som indeksen 2 av dimensjon 1, i.e. [1] [2] For kolonne “lønn” har en verdi større enn 15000. Når vi kjører denne spørringen, har vi 3 poster med lønnskolonne 1st Dimension har verdi større enn 15000 ved indeks 2.

La oss ta en annen illustrasjon for å bruke hvor leddet på kolonnen “Lønn” eller array -type. Denne gangen vil vi bruke tilstanden ved den andre dimensjonen av kolonnen "lønn" og dens respektive andre indeks, i.e. [2] [2]. Denne gangen har vi bare to poster for kolonnen "lønn" der indeks 2 i sin andre dimensjon har en verdi mindre enn 27000.

Konklusjon:

Så dette handlet om bruken av WHERE-leddet i PostgreSQL-tabellen for å hente poster i henhold til kolonneverdiene for array-type kolonne. Vi har diskutert to typer en matrise som skal brukes der klausul om dem, jeg.e. 1 dimensjonal og 2-dimensjonal. Alle postene er hentet ved hjelp av indeksering av matriser.