PostgreSQL Limite Righe

PostgreSQL Limite Righe
PostgreSQL si occupa di molte funzionalità per quanto riguarda l'archiviazione dei dati e la visualizzazione all'utente. La visualizzazione di dati limitati dal database è necessaria in caso di problemi di sicurezza se l'autenticazione dell'utente è dubbio o in caso di perdita di dati. Come sappiamo che i dati sono presenti sotto forma di massa. Quindi, per ridurre la vista delle tabelle all'utente, dobbiamo limitare le righe specificandole. La clausola "limite" di PostgreSQL è una clausola di opzione dell'istruzione "seleziona" che può essere utilizzata con altre clausole come "legami", "offset", ecc. Ognuno di essi farà parte della nostra discussione in questo contenuto. Iniziamo con la semplice sintassi della clausola limite. Seleziona * dall'ordine della tabella per riga limite di espressione

E nel caso di "offset":

Seleziona * dalla riga del limite del nome della tabella "Row to Skip";

Clausola limite semplice

Muoversi verso esempi dell'argomento in discussione. Considera un tavolo chiamato "piatti". Il contenuto della tabella fino a 3 righe dall'inizio deve essere visualizzato come output. E questa selezione viene effettuata ordinando i dati in righe secondo la colonna ID. 'Limit' è la parola chiave utilizzata per controllare la vista creata per l'utente nella tabella. In primo luogo, visualizzeremo tutto il contenuto dei "piatti" della tabella utilizzando un comando seleziona

>> Seleziona * dai piatti;

Ora applicheremo la query per visualizzare le righe fino a 3Rd id.

>> Seleziona * da piatti Ordine per limite ID 3;

Attraverso lo snap, è possibile vedere l'output in cui vengono detratte le ultime due righe a causa del vincolo limite che viene applicato alla tabella.

Limitare la clausola con una clausola di offset

Il secondo esempio prevede l'uso di "offset" insieme alla parola chiave "limite". Questa clausola salta/salta le righe del numero di offset 'nth'. La differenza tra il limite e la clausola di offset è che il limite conta il numero fino al quale vogliamo visualizzare i dati, mentre l'offset rimuove quella particolare riga o righe dalla tabella fornendo il numero di offset nel comando. Ora applicheremo entrambe le clausole alla query, quindi otteniamo l'output desiderato.

>> Seleziona * da piatti Ordine per ID Limite 3 Offset 1;

Il comando sopra mostra che viene utilizzato il limite "3", il che significa che la tabella risultante conterrà solo 3 righe nella tabella e offset "1" significa che la prima riga verrà detratta dall'output. Quindi da 5, vengono visualizzate solo tre righe a causa del limite e dell'offset.

Uso della clausola limite con la clausola dell'ordine

Oltre al limite, possiamo anche utilizzare la clausola dell'ordine per visualizzare i dati della tabella. Questo funzionerà in modo che tutto il contenuto sia organizzato in un ordine specificato nella query. Quindi la parte limite verrà considerata. Diamo un'occhiata.

>> Seleziona * da piatti Ordine per tipo DESC Limite 4;

Questa query descrive che il risultato è in primo luogo disposto seguendo il tipo di colonna specificato "Tipo". Quindi una volta che le 5 righe sono disposte di fronte all'ordine alfabetico del "tipo", vengono visualizzate le prime 4 righe.

Limite come null

Se specifichiamo la clausola "limite" come null, non applica alcuna modifica sulla tabella. Qui abbiamo visualizzato solo la colonna "ID" solo per verificare l'efficacia della clausola "limite".

>> Seleziona ID dai piatti Limita null;

Legami ... prendi prima

Questo esempio è l'uso di "legami" nella clausola limite. Questo aiuta a ottenere tutti i dati che vengono persino utilizzati ripetutamente in qualsiasi colonna della tabella. Per questo scopo specifico, creeremo prima una nuova tabella che ha una singola colonna di ID

>> Crea tabella TBL1 (in int)

Quindi inserire valori in esso.

>> inserire nei valori TBL1 (1), (5), (4), (6);

Normalmente quando introduciamo tutte le colonne al momento della creazione della tabella, ma qui nel caso di numeri casuali. Viene creata una colonna denominata "numeri". Questa funzione è una funzione integrata per generare i numeri casuali e ogni numero della colonna ID. A tale scopo, utilizziamo un'istruzione specifica, "alter". Che aggiungerà una colonna nella tabella come mostrato di seguito nell'immagine scattata.

>> ALTER TABLE TBL1 Aggiungi numeri di colonna Numerer predefinito casuale ();

Allo stesso modo, abbiamo aggiunto altre righe alla tabella. La tabella risultante è la seguente.

Ora su questa tabella, applicheremo la clausola "Ties" con il fattore "Fetch-First".

Se prendiamo le prime righe della tabella, ciò che di solito accade è che PostgreSQL fa una pausa funzionante ai numeri di riga fissa quando ci sono gli stessi numeri. Per superare il problema, oltre ai "legami" è necessaria anche la clausola "ordine per" perché senza ciò, il risultato sarà abbastanza casuale. Ora applica questa condizione sul tavolo con una query.

La parte "Fetch First" otterrà tutti i record organizzati in ordine crescente dalla colonna ID. Secondo il comando, verranno selezionate le prime 5 righe.

Offset con legami

Considera un'altra tabella denominata "tecnologia". Qui siamo interessati ad applicare fetch_first, legami e clausole offset in un unico comando. Questi tre combinati e non hanno promesso di restituire esattamente lo stesso numero di righe che hai specificato nella query.

>> seleziona * dalla tecnologia;

Qui vogliamo specificare 2 righe per il primo posto con un offset di 3. Quindi in primo luogo, tutti i dati sono organizzati in ordine decrescente, quindi vengono rimosse le prime tre righe; Quindi otteniamo le ultime due righe ordinate dalla colonna del modello della tabella. La semplice sintassi è:

>> Seleziona * Dal nome della tabella per nome della colonna DESS Fetch First (N) Righe con cravatte Offset (N);

Limite con una sottoquery

Questo è un esempio di limitazione del numero di righe utilizzando una sottocarma alla tabella denominata lavoratore. Puoi applicare tutti i comandi a una singola tabella. Ma per spiegare diversi vincoli, dobbiamo avere una varietà nella creazione di tavoli, che non è ancora disponibile su una singola tabella. Quindi, la tabella dei lavoratori ha i seguenti attributi.

>> seleziona * dai lavoratori;

Una cosa che dovrebbe essere tenuta a mente è usare l'ordine per clausola solo con la clausola dei legami quando si adattano l'un l'altro; Altrimenti, è necessario utilizzare una sottocarna se si desidera righe specifiche con un'altra colonna nella tabella.

>> Seleziona * da (Seleziona * dall'ordine del lavoratore di City Desc Fetch dalle prime 4 file con legami) come ordine subq di City Desc, fname

Innanzitutto, la porzione di sub-query viene risolta.

Conclusione

"PostgreSQL Limite Rows" è una soluzione per nascondere alcuni dati dall'utente a causa di alcuni motivi specificati. Usando "Offset", "Clausole Ordine" e "Ties" con il concetto di Fetch-First vengono discussi per ridurre l'ambiguità di combinarli tutti in un'unica affermazione. Spero che questo contenuto ti aiuti a gestire le tabelle con la clausola limite.