Finestre.  Virus.  I Quaderni.  Internet.  ufficio.  Utilità.  Autisti

Nel linguaggio delle interrogazioni SQL occupa un posto significativo istruzione SELEZIONA, poiché con l'aiuto di esso effettuiamo una selezione nel database. In questo articolo tratteremo le basi di questa importantissima istruzione SQL.

Ci sono molti articoli, libri, tutorial su SQL su Internet, ma sono tutti difficili per una persona che non ha mai sentito parlare di SQL, e forse anche di programmazione, e quindi tutte queste fonti sono difficili da studiare per lui . Qui sto cercando di spiegare le basi di un singolo operatore senza andare troppo in profondità ( questo è ciò che rende difficile studiare il passaggio immediato dalle basi a query complesse), quindi devi prima imparare le basi e poi passare a quelle più complesse, il che rende più facile l'apprendimento del linguaggio SQL. Questo articolo è ottimo per i principianti che vogliono imparare a scrivere semplici query SQL per recuperare i dati.

Che cos'è il linguaggio SQL e l'istruzione SELECT

SQLè un linguaggio di query utilizzato per manipolare (gestire) i dati nei database relazionali. Ha un'ampia popolarità e quindi qualsiasi IT-k che si rispetti dovrebbe conoscere le basi di questo linguaggio, poiché quasi tutte le aziende dispongono di database.

SELEZIONARE– operatore del linguaggio SQL, appartiene al gruppo degli operatori di manipolazione dei dati ( Linguaggio di manipolazione dei dati, DML) e serve per recuperare i dati dal database.

Nota! Per imparare il linguaggio e i database SQL, esistono speciali edizioni gratuite di DBMS di grandi dimensioni, ad esempio in server SQL Microsoft ha un'edizione Express. Come installare dato DBMS puoi leggere nel materiale - Descrizione dell'installazione di Microsoft SQL Server 2016 Express.

Ecco l'esempio più semplice di utilizzo dell'istruzione SELECT.

SELEZIONA * DA Tabella

  • * - mostra tutti i dati;
  • DA - dalla fonte;
  • Tabella - nome sorgente ( nel nostro caso il tavolo).

Ma, in pratica, spesso non abbiamo bisogno di tutti i dati della tabella, e talvolta solo di alcune colonne, per questo specifichiamo semplicemente il nome della colonna desiderata invece di * ( o altoparlanti), Per esempio:

SELEZIONA Prezzo DA Tabella

dove Prezzo è il nome della colonna.

Nota! Ad esempio, usiamo un semplice tavolo elencando i modelli di computer, il loro prezzo e il nome.

Se devi specificare più colonne, elencale semplicemente separate da virgole dopo l'istruzione SELECT, ad esempio

SELEZIONA prezzo, nome, modello DA Tabella

dove, prezzo, nome, modello sono colonne della tabella Tabella.

Condizione di selezione - Clausola WHERE

Nel processo di campionamento, molto spesso è necessario filtrare i dati in base a una determinata condizione, ad es. non tutti i dati, ma solo quelli che soddisfano la condizione, nel costrutto SELECT, puoi usare l'operatore per questo DOVE.

SELEZIONA prezzo DA Tabella WHERE prezzo > 100

dove, WHERE è la condizione, cioè mostriamo solo quelle righe che corrispondono alla nostra condizione ( prezzo superiore a 100).

Operatori di confronto in SQL

  • ">" - più di ogni altra cosa;
  • «<» – меньше чего-нибудь;
  • "=" - uguale;
  • «<>" - non uguale;
  • ">=" - maggiore o uguale;
  • «<=» – меньше или равно.

È inoltre possibile specificare nella condizione parola chiave FRA, cioè. il valore rientra o non rientra in un certo intervallo, ad esempio

SELEZIONA prezzo DA tabella WHERE prezzo TRA 400 E 600

dove specifichiamo che il prezzo deve essere compreso tra 400 e 600.

Per verificare se il valore dell'espressione sottoposta a test appartiene a un determinato insieme di valori, è possibile utilizzare il predicato IN.

SELEZIONA prezzo DA tabella WHERE prezzo IN (400, 600)

IN questo caso vogliamo solo il prezzo con costo 400 e 600.

Se abbiamo bisogno di ottenere solo le righe univoche della fonte, possiamo specificare la parola chiave DISTINTO, Per esempio

SELECT DISTINCT prezzo FROM Tabella WHERE prezzo > 100

Nota! Il linguaggio SQL non fa distinzione tra maiuscole e minuscole, le query possono essere scritte su una riga o suddivise in più righe. Ad esempio, le due query seguenti sono esattamente le stesse.

SELEZIONA il prezzo dalla tabella

selezionare il prezzo dalla tabella

Ordinamento ORDER BY

Molto spesso è necessario ordinare il risultato di una query in base a un determinato campo ( colonna). Per fare ciò, dopo la richiesta, specificare la costruzione ORDINATO DA e quei campi ( diversi possono essere separati da virgole) per ordinare in base a.

SELEZIONA prezzo DA Tabella ORDINA PER prezzo DESC

Questo è un esempio di ordinamento in ordine decrescente, ma puoi anche ordinare in ordine crescente, invece di DESC scriviamo ASC, ma di solito non scriviamo in questo modo, poiché l'ordinamento crescente è l'impostazione predefinita.

Funzioni di aggregazione in SQL

Ci sono le cosiddette funzioni di aggregazione molto utili in SQL, vale a dire:

  • CONTARE— il numero di valori nella colonna specificata;
  • SOMMAè la somma dei valori nella colonna specificata;
  • AVV- il valore medio nella colonna specificata;
  • MIN— il valore minimo nella colonna specificata;
  • MASSIMO— il valore massimo nella colonna specificata.

Ad esempio, dobbiamo ottenere il prezzo medio di un computer, il massimo e il minimo, per questo possiamo scrivere la seguente query

SELECT AVG(prezzo), MAX(prezzo), MIN(prezzo) FROM tabella

RAGGRUPPA PER

Puoi raggruppare i valori per colonne, ad esempio, dobbiamo scoprire il prezzo medio per ogni modello di computer, in questo caso la query sarà così

SELEZIONA modello, AVG (prezzo) AS AVGPrezzo DA tabella GRUPPO PER modello

Se noti, ho usato l'assegnazione qui " alias» per una percezione più comoda dei risultati di questa query, ad es. dopo la colonna, scrivi AS e il nome che desideri venga visualizzato nei risultati.

Oltre a quando si utilizzano le condizioni nelle singole colonne, è anche possibile specificare una condizione per l'intero gruppo, utilizzando la funzione AVENDO. Ad esempio, dobbiamo determinare il prezzo massimo di un computer, raggruppato per i modelli di questi computer, ma il cui prezzo massimo è inferiore a 500.

SELECT modello, MAX(prezzo) FROM table GROUP BY modello HAVING MAX(prezzo)< 500

In questo caso, la nostra query ci restituirà computer raggruppati per modelli, il cui prezzo massimo è inferiore a 500.

Nota! Puoi leggere ulteriori informazioni sul raggruppamento in SQL in questo articolo.

Valore NULL in SQL

In SQL esiste un valore come NULL. Infatti, NULL è l'assenza di un valore ( quelli. vuoto). Per visualizzare tutte le righe che contengono tale valore ( ad esempio, non abbiamo ancora assegnato un prezzo per alcuni computer) possiamo usare la seguente condizione.

SELEZIONA * DA tabella WHERE prezzo È NULL

Il che significherà cercare tutte le righe che non contengono un valore per il campo del prezzo.

Sintassi dell'istruzione SELECT semplificata

SELEZIONARE<Список полей>O * , ...] , ...]

La nota! Se sei interessato al linguaggio T-SQL, allora ti consiglio di leggere il mio libro “The Way of the T-SQL Programmer”, in cui parlo in dettaglio, con molti esempi, delle basi del linguaggio Transact-SQL soprattutto per i principianti.

Questo è tutto per oggi, abbiamo esaminato con voi una piccola parte del linguaggio SQL, vale a dire l'istruzione SELECT. Buona fortuna!

E sui dati della tabella.

Viene chiamato il linguaggio SQL integrato, Perché contiene funzioni linguaggio a tutti gli effetti sviluppo, ma si concentra sull'accesso ai dati, per cui fa parte degli strumenti di sviluppo delle applicazioni. Gli standard del linguaggio SQL supportano i linguaggi Programmazione Pascal, Fortran, COBOL, C, ecc.

Esiste 2 metodi per utilizzare SQL incorporato:

  • statico uso della lingua ( SQL statico) - il testo del programma contiene chiamate a funzioni SQL incluse nel modulo eseguibile dopo la compilazione.
  • dinamico uso della lingua ( SQL dinamico) – costruzione dinamica di chiamate di funzioni SQL e loro interpretazione. Per esempio, è possibile accedere ai dati del database remoto durante l'esecuzione del programma.

Il linguaggio SQL (come altri linguaggi di database) è progettato per preparare ed eseguire query. Come risultato dell'esecuzione di una query di dati da una o più tabelle, si ottiene un set di record, che viene chiamato prestazione.

Definizione 1

Prestazioneè una tabella formata come risultato dell'esecuzione di una query.

Operatori del linguaggio di query SQL di base

Le istruzioni SQL sono suddivise condizionatamente in 2 sottolingue:

  1. Linguaggio di definizione dei dati DDL;
  2. Linguaggio di manipolazione dei dati DML.

Nella tabella, il simbolo * contrassegnato operatori specifici lingua.

Diamo un'occhiata alle istruzioni SQL più importanti.

    Dichiarazione di creazione della tabella:

    Il nome della tabella che si sta creando e il nome di almeno una colonna (campo) sono operandi obbligatori. Per il nome della colonna, è necessario specificare il tipo di dati che verranno archiviati in essa.

    Per i singoli campi è possibile specificare regole aggiuntive per il controllo dei valori inseriti in essi. Per esempio, NON NULLO indica che il campo non può essere vuoto e deve essere inserito un valore.

    Esempio 1

    Per creare una tabella libri directory del libro, che contiene i campi:

    tipo- tipo di libro

    nome- titolo del libro,

    prezzo– prezzo del libro

    l'operatore potrebbe essere simile a questo:

    Operatore di modifica della struttura della tabella:

    Quando si modifica la struttura della tabella, è possibile aggiungere ( AGGIUNGERE), modifica ( MODIFICARE) o eliminare ( GOCCIOLARE) una o più colonne della tabella. Regole di registrazione dato operatore come per l'operatore CREA TABELLA. Non è necessario specificare per eliminare una colonna.

    Esempio 2

    Da aggiungere alla tavola libri campi numero, che memorizzerà il numero di libri, puoi scrivere l'operatore:

    Dichiarazione di rilascio della tabella:

    Esempio 3

    Ad esempio, per eliminare una tabella esistente denominata libri basta usare l'operatore:

    Dichiarazione di creazione dell'indice:

    L'istruzione crea un indice su una o più colonne di una determinata tabella, che velocizza le operazioni di query e ricerca. È possibile creare più indici sulla stessa tabella.

    Opzione facoltativa UNICOè responsabile di garantire l'univocità dei valori in tutte le colonne specificate nell'istruzione.

    ASC imposta l'ordinamento automatico dei valori nelle colonne in ordine crescente (impostazione predefinita) e DISC- in ordine decrescente.

    Operatore di rilascio dell'indice:

    Visualizza l'operatore di creazione:

    Quando crei una vista, puoi tralasciare i nomi delle colonne. Quindi verranno utilizzati i nomi delle colonne della query, descritti dall'operatore corrispondente SELEZIONARE.

    Visualizza l'operatore di eliminazione:

    Operatore di selezione record:

    Operatore SELEZIONARE seleziona ed esegue calcoli sui dati di una o più tabelle. Il risultato dell'esecuzione dell'istruzione è una tabella di risposta che contiene ( TUTTO) o non contiene ( DISTINTO) righe che si ripetono.

    Operando DA contiene un elenco di tabelle da cui vengono presi i record per la selezione dei dati.

    Operatore di modifica record:

    I nuovi valori di campo nei record potrebbero non contenere valori ( NULLO) o calcolato secondo un'espressione aritmetica.

    Operatore per l'inserimento di nuovi record:

    Nel primo record dell'operatore INSERIRE vengono inseriti nuovi record con valori dati nelle colonne.

    Nel secondo record dell'operatore INSERIRE vengono inserite nuove righe, selezionate da un'altra tabella attraverso una frase SELEZIONARE.

    Elimina operatore record:

    Come risultato dell'esecuzione dell'operatore, le righe che soddisfano la condizione specificata dall'operando facoltativo vengono eliminate dalla tabella specificata DOVE. Se l'operando DOVE non è specificato, tutti i record nella tabella vengono eliminati.

Lo standard del linguaggio SQL è stato adottato nel 1992 ed è ancora in uso oggi. È stato lui a diventare lo standard per molti, ovviamente alcuni produttori utilizzano le proprie interpretazioni dello standard. Ma in qualsiasi sistema ci sono ancora componenti principali: istruzioni SQL.

introduzione

Con l'aiuto di istruzioni SQL, i valori e le tabelle vengono gestiti e ricevuti per ulteriori analisi e visualizzazione. Sono un insieme di parole chiave con cui il sistema capisce cosa fare con i dati.

Sono definite diverse categorie di istruzioni SQL:

  • definizione degli oggetti del database;
  • manipolazione del valore;
  • protezione e gestione;
  • parametri di sessione;
  • informazioni di base;
  • SQL statico;
  • SQL dinamico.

Istruzioni SQL per la manipolazione dei dati

INSERIRE. Inserisce righe in una tabella esistente. Può essere utilizzato sia per un valore che per diversi, determinato da alcune condizioni. Per esempio:

nome tabella (nome colonna 1, nome colonna 2)

VALORI (valore 1, valore 2).

Per utilizzare l'istruzione INSERT su più valori, la sintassi è:

nome tabella 1 (nome colonna 1, nome colonna 2)

SELECT nome colonna 1, nome colonna 2

FROM nome tabella 2

WHERE nome tabella 2.nome colonna 1>2

Questa query selezionerà tutti i dati dalla tabella 2 maggiore di 2 nella colonna 1 e li inserirà nella prima.

AGGIORNAMENTO. Come suggerisce il nome, questo operatore Interrogazione SQL aggiorna i dati in una tabella esistente in base a un determinato attributo.

UPDATE nome tabella 1

SET nome colonna 2 = "Basilico"

WHERE nome tabella 1.nome colonna 1 = 1

Questa costruzione riempirà con il valore Vasily tutte le righe in cui incontra il numero 1 nella prima colonna.

Dati dalla tabella. È possibile specificare qualsiasi condizione o rimuovere tutte le righe.

DELETE FROM nome tabella

WHERE nome tabella.nome colonna 1 = 1

La query precedente rimuoverà dal database tutti i dati con valore uno nella prima colonna. Ed ecco come puoi cancellare l'intera tabella:

istruzione SELEZIONA

Lo scopo principale di SELECT è selezionare i dati in base a determinate condizioni. Il risultato del suo lavoro è sempre una nuova tabella con i dati selezionati. L'operatore MS può essere utilizzato in molte query diverse. Pertanto, insieme ad esso, puoi considerare altre parole chiave correlate.

Per selezionare tutti i dati da una particolare tabella, utilizzare il segno "*".

FROM nome tabella 1

Il risultato del lavoro data richiesta sarà una copia esatta della tabella 1.

E qui c'è una selezione secondo la condizione WHERE, che ottiene dalla tabella 1 tutti i valori maggiori di 2 nella colonna 1.

FROM nome tabella 1

WHERE nome tabella 1.nome colonna 1 > 2

È inoltre possibile specificare nella selezione che sono necessarie solo determinate colonne.

SELECT nome tabella 1.nome colonna 1

FROM nome tabella 1

Il risultato di questa query saranno tutte le righe con i valori della colonna 1. Utilizzando le istruzioni MS SQL, puoi creare la tua tabella sostituendo, calcolando e sostituendo determinati valori in movimento.

nome tabella 1.nome colonna 1

nome tabella 1.nome colonna 2

nome tabella 1.nome colonna 3

nome tabella 1.nome colonna 2 * nome tabella 1.nome colonna 3 AS SUMMA

FROM nome tabella 1

Questa query apparentemente complessa recupera tutti i valori dalla tabella 1, quindi crea nuove colonne EQ e SUMMA. Nella prima inserisce il segno “+” e nella seconda il prodotto dei dati delle colonne 2 e 3. Il risultato può essere presentato sotto forma di tabella, per capire come funziona:

Quando si utilizza l'istruzione SELECT, è possibile ordinare immediatamente i dati in base ad alcuni attributi. Per questo, viene utilizzata la parola ORDER BY.

nome tabella 1.nome colonna 1

nome tabella 1.nome colonna 2

nome tabella 1.nome colonna 3

FROM nome tabella 1

ORDER BY nome colonna 2

La tabella risultante sarà simile a questa:

Cioè, tutte le righe sono state impostate in modo tale che i valori nella colonna 2 fossero in ordine crescente.

I dati possono anche essere recuperati da più tabelle. Per chiarezza, devi prima immaginare che ce ne siano due nel database, qualcosa del genere:

Tabella "Dipendenti"

Tabella "Stipendio"

Ora devi in ​​qualche modo collegare queste due tabelle per ottenere valori comuni. Usando le istruzioni SQL di base, puoi farlo in questo modo:

Personale.Numero

Nome dell'impiegato

Stipendio

Stipendio maturato

A PARTIRE DAL Dipendenti, stipendio

WHERE Impiegati.Numero = Stipendio.Numero

Ecco una selezione di due tabelle diverse valori raggruppati per numero. Il risultato sarà il seguente set di dati:

Un po' di più su SELECT. Utilizzo di funzioni di aggregazione

Uno dei principali operatori può eseguire alcuni calcoli sul recupero. Per fare ciò, utilizza determinate funzioni e formule.

Ad esempio, per ottenere il numero di record dalla tabella "Dipendenti", è necessario utilizzare la query:

SELEZIONA CONTEGGIO (*) COME N

A PARTIRE DAL Dipendenti

Il risultato è una tabella con un valore e una colonna.

Puoi usare questa query e vedere cosa succede:

SUM(Stipendio. Maturato) AS SUMMA

MAX(Stipendio.Maturato) AS MAX

MIN(Stipendio. Maturato) AS MIN

AVG(Stipendio.Maturato) COME SRED

A PARTIRE DAL Stipendio

Il tavolo finale sarà così:

In questo modo è possibile selezionare dal database i valori desiderati eseguendo al volo il calcolo delle varie funzioni.

Unione, Intersezione e Differenze

Combina più query in SQL

SELECT Dipendenti.Nome

A PARTIRE DAL Dipendenti

WHERE Impiegati.Numero = 1

SELECT Dipendenti.Nome

A PARTIRE DAL Dipendenti, stipendio

WHERE Stipendio.Numero = 1

Va tenuto presente che con tale join le tabelle devono essere compatibili. Cioè avere lo stesso numero di colonne.

Sintassi dell'istruzione SELECT e ordine di elaborazione

Prima di tutto, SELECT definisce l'area da cui prenderà i dati. La parola chiave FROM viene utilizzata per questo. Se non è specificato cosa esattamente scegliere.

Quindi potrebbe esserci una clausola SQL WHERE. Con il suo aiuto, SELECT scorre tutte le righe della tabella e verifica che i dati siano conformi alla condizione.

Se nella query è presente un GROUP BY, i valori vengono raggruppati in base ai parametri specificati.

Operatori di confronto dei dati

Ce ne sono diversi tipi. In SQL, gli operatori di confronto possono verificare Vari tipi valori.

    "=". Denota, come puoi immaginare, l'uguaglianza di due espressioni. Ad esempio, è già stato utilizzato negli esempi precedenti: WHERE Salary.Number = 1.

    ">". Più segno. Se il valore del lato sinistro dell'espressione è maggiore di, allora restituisce booleano VERO e la condizione si considera soddisfatta.

    «<». Знак меньше. Обратный предыдущему оператор.

    Segni "<=» и «>=". Differisce dai semplici operatori more e less in quanto se gli operandi sono uguali, anche la condizione sarà vera.

COME

Questa parola chiave può essere tradotta come "simile". L'operatore LIKE in SQL viene utilizzato all'incirca nello stesso modo: esegue una query in base a un modello. Cioè, ti consente di espandere la selezione dei dati dal database usando espressioni regolari.

Ad esempio, è stata impostata la seguente attività: dalla base già nota "Dipendenti" per ottenere tutte le persone il cui nome termina con "I". Quindi la query può essere scritta in questo modo:

A PARTIRE DAL Dipendenti

WHERE Nome COME `%i`

Il segno di percentuale in questo caso indica una maschera, ovvero qualsiasi carattere e il relativo numero. E con la lettera "i" SQL determinerà che l'ultimo carattere dovrebbe essere proprio questo.

CASO

Questa istruzione di SQL Server è un'implementazione della selezione multipla. Assomiglia al costrutto switch in molti linguaggi di programmazione. L'istruzione CASE in SQL esegue un'azione su più condizioni.

Ad esempio, è necessario selezionare i valori massimo e minimo dalla tabella Stipendio.

Quindi la query può essere scritta in questo modo:

A PARTIRE DAL Stipendio

WHERE CASE WHEN SELECT MAX(Maturato) THEN Massimo

WHEN SELECT MIN(Maturato) THEN Minimo

In questo contesto, il sistema cerca il valore massimo e minimo nella colonna Maturato. Quindi, utilizzando END, viene creato un campo "totale", in cui verrà inserito "Massimo" o "Minimo", a seconda dell'esito della condizione.

A proposito, SQL ha anche una forma più compatta di CASE - COALESCE.

Operatori di definizione dei dati

Questa visualizzazione consente di apportare una serie di modifiche alle tabelle: creazione, eliminazione, modifica e utilizzo degli indici.

Il primo da prendere in considerazione è CREATE TABLE. Non fa altro che creare una tabella. Se digiti semplicemente la query CREATE TABLE, non accadrà nulla, poiché devi ancora specificare alcuni parametri.

Ad esempio, per creare la già familiare tabella Impiegati, è necessario utilizzare i comandi:

CREA TABELLA Dipendenti

(Numero numero(10) NOT NULL

Nome varchar(50) NOT NULL

Cognome varchar(50) NOT NULL)

In questa query, i nomi dei campi e i loro tipi vengono immediatamente determinati tra parentesi, nonché se può essere uguale a NULL.

TABELLA GOCCIA

Esegue una semplice attività, eliminando la tabella specificata. Ha un parametro aggiuntivo IF EXISTS. Assorbe un errore alla cancellazione se la tabella cercata non esiste. Esempio di utilizzo:

DROP TABLE Dipendenti SE ESISTE.

CREA INDICE

SQL ha un sistema di indici che consente di velocizzare l'accesso ai dati. In generale, è un collegamento che punta a una colonna specifica. Puoi creare un indice con una semplice query:

CREATE INDEX nome_indice

ON nome_tabella(nome_colonna)

Questo operatore è utilizzato in T-SQL, Oracle, PL SQL e molte altre tecnologie di interpretazione.

ALTERARE TABELLA

Un operatore molto funzionale con numerose opzioni. In generale, cambia la struttura, la definizione e il posizionamento delle tabelle. L'operatore è utilizzato in Oracle SQL, Postgres e molti altri.

    AGGIUNGERE. Aggiunge una colonna a una tabella. La sua sintassi è: ALTER TABLE nome_tabella ADD nome_colonna tipo_dati_memorizzato. Può avere un'opzione IF NOT EXISTS per sopprimere l'errore se la colonna creata esiste già;

    GOCCIOLARE. Elimina una colonna. Ha anche una chiave IF EXISTS, senza la quale verrà generato un errore che dice che manca la colonna richiesta;

    MODIFICA. Serve per rinominare il nome del campo in quello specificato. Esempio di utilizzo: ALTER TABLE nome_tabella CHANGE vecchio_nome nuovo_nome;

    MODIFICARE. Questo comando ti aiuterà a cambiare il tipo e gli attributi aggiuntivi di una determinata colonna. Ed è usato così: ALTER TABLE nome_tabella MODIFY nome_colonna tipo_dati attributi;

CREA VISTA

In SQL esiste una vista. In breve, questa è una specie di tabella virtuale con i dati. Viene formato come risultato di una selezione utilizzando l'istruzione SQL SELECT. Le viste possono limitare l'accesso al database, nasconderle, sostituire i nomi delle colonne reali.

Il processo di creazione avviene con una semplice richiesta:

CREATE VIEW nome vista AS SELECT FROM * nome tabella

Il campionamento può verificarsi come l'intero database nel suo insieme e in base a determinate condizioni.

Un po 'di funzioni

Le query SQL utilizzano molto spesso varie funzioni integrate che consentono di interagire con i dati e trasformarli al volo. Vale la pena considerarli, poiché sono parte integrante di un linguaggio strutturato.

    CONTARE. Conta i record o le righe in una particolare tabella. Come parametro, puoi specificare il nome della colonna, quindi i dati verranno presi da essa. SELECT COUNT * FROM Dipendenti;

    A.V.G. si applica solo alle colonne con dati numerici. Il suo risultato è la determinazione della media aritmetica di tutti i valori;

    MIN e MASSIMO. Queste funzioni sono già state utilizzate in questo articolo. Determinano i valori massimo e minimo dalla colonna specificata;

    SOMMA. È semplice: la funzione calcola la somma dei valori della colonna. Viene utilizzato esclusivamente per il tipo di dati numerico. Aggiungendo alla query il parametro DISTINCT verranno sommati solo i valori univoci;

    GIRARE. La funzione di arrotondamento dei numeri frazionari decimali. La sintassi utilizza il nome della colonna e il numero di cifre decimali;

    len. Una semplice funzione che calcola la lunghezza dei valori di una colonna. Il risultato sarà una nuova tabella con l'indicazione del numero di caratteri;

    ORA. Questa parola chiave viene utilizzata per calcolare la data e l'ora correnti.

Operatori aggiuntivi

Molti degli esempi di istruzioni SQL hanno parole chiave che eseguono piccole attività ma semplificano notevolmente le selezioni o le operazioni del database.

    COME. Viene utilizzato quando è necessario visualizzare il risultato assegnando il nome specificato alla tabella risultante.

    FRA. Uno strumento di selezione molto utile. Specifica l'intervallo di valori da cui ottenere i dati. L'input accetta un parametro da e a quale numero viene utilizzato l'intervallo;.

    NON. Un operatore fornisce l'opposto di un'espressione.

    TRONCARE. Rimuove i dati dall'area specificata del database. Si differenzia da operatori simili in quanto è impossibile recuperare i dati dopo il suo utilizzo. Vale la pena considerare che l'implementazione di questa parola chiave in diverse interpretazioni di SQL potrebbe differire. Pertanto, prima di provare a utilizzare TRUNCATE, è meglio leggere le informazioni della guida.

    LIMITE. Imposta il numero di righe da visualizzare. La particolarità dell'operatore è che si trova sempre alla fine. Richiede un parametro obbligatorio e uno facoltativo. Il primo specifica quante righe con i dati selezionati mostrare. E se viene utilizzato il secondo, l'operatore funziona come per un intervallo di valori.

    UNIONE. Un operatore molto utile per combinare più query. Ha già incontrato tra gli esempi di questo in questo articolo. È possibile visualizzare le righe desiderate da più tabelle unendole con UNION per un uso più comodo. La sintassi è: SELECT nome_colonna FROM nome_tabella UNION SELECT altro_nome_colonna FROM altro_nome_tabella. Il risultato è una tabella pivot con query combinate.

    CHIAVE PRIMARIA. Tradotto come "chiave primaria". In realtà, è questa terminologia che viene utilizzata nei materiali di riferimento. Sta per l'identificatore di riga univoco. Viene utilizzato, di norma, durante la creazione di una tabella per specificare il campo che la conterrà.

    PREDEFINITO. Proprio come l'operatore precedente, viene utilizzato nel processo di esecuzione della query di creazione. Definisce il valore predefinito che verrà compilato nel campo quando viene creato.

    NULLO. I principianti e non solo i programmatori, durante la compilazione delle query, dimenticano molto spesso la possibilità di ottenere un valore NULL. Di conseguenza, un errore si insinua nel codice, che è difficile da rintracciare durante il debug. Pertanto, durante la creazione di tabelle, la selezione o il ricalcolo di valori, è necessario soffermarsi a pensare se viene presa in considerazione l'occorrenza di NULL in questa sezione della query.

    Memoria. Questo articolo ha mostrato diverse funzioni che possono eseguire determinate attività. Quando si sviluppa una shell per lavorare con il database, è possibile "superare" il calcolo di semplici espressioni sul sistema di gestione del database. In alcuni casi, ciò offre un significativo aumento delle prestazioni.

    Restrizioni. Se hai bisogno di ottenerne solo due da un database con migliaia di righe, allora dovresti usare operatori come LIMIT o TOP. Non è necessario estrarre i dati utilizzando il linguaggio di sviluppo della shell.

    Composto. Dopo aver ricevuto i dati da diverse tabelle, molti programmatori iniziano a riunirli utilizzando la memoria della shell. Ma perché? Dopotutto, puoi fare una richiesta in cui tutto questo sarà presente. Non è necessario scrivere codice aggiuntivo e riservare memoria aggiuntiva nel sistema.

    Ordinamento. Se è possibile applicare l'ordinamento nella query, ovvero dal DBMS, è necessario utilizzarlo. Ciò consentirà di risparmiare in modo significativo sulle risorse durante l'esecuzione di un programma o servizio.

    Molte richieste. Se devi inserire molti record in sequenza, per l'ottimizzazione dovresti pensare all'inserimento in batch dei dati in una query. Ciò aumenterà anche le prestazioni dell'intero sistema nel suo insieme.

    Posizionamento ponderato dei dati. Prima di compilare la struttura del database, è necessario pensare se sia necessario un tale numero di tabelle e campi. Forse c'è un modo per unirli o scartarne alcuni. Molto spesso i programmatori utilizzano una quantità eccessiva di dati che non verranno mai utilizzati da nessuna parte.

    Tipi. Per risparmiare spazio e risorse, devi essere sensibile ai tipi di dati che utilizzi. Se è possibile utilizzare un tipo meno "pesante" per la memoria, allora è necessario utilizzarlo. Ad esempio, se è noto che in un dato campo il valore numerico non supererà 255, allora perché utilizzare un INT di 4 byte se esiste un TINYINT di 1 byte.

Conclusione

In conclusione, va notato che il linguaggio di query strutturato SQL è ormai utilizzato quasi ovunque: siti, servizi Web, programmi per PC, applicazioni per dispositivi mobili. Pertanto, la conoscenza di SQL aiuterà tutti i rami dello sviluppo.

Allo stesso tempo, le modifiche allo standard della lingua originale a volte differiscono l'una dall'altra. Ad esempio, le istruzioni PL SQL possono avere una sintassi diversa rispetto a SQL Server. Pertanto, prima di iniziare a sviluppare con questa tecnologia, dovresti leggere i relativi manuali.

In futuro, è improbabile che compaiano analoghi che potrebbero superare SQL in termini di funzionalità e prestazioni, quindi quest'area è una nicchia piuttosto promettente per qualsiasi programmatore.

L'istruzione SQL SELECT è destinata alle query per selezionare i dati da un database. Può essere utilizzato sia senza condizioni (selezionando tutte le righe in tutte le colonne o tutte le righe in colonne specifiche) sia con più condizioni (selezionando righe specifiche) specificate nella clausola WHERE. Acquisiamo familiarità con gli strumenti SQL che possono essere utilizzati per impostare queste condizioni su una selezione di dati e impariamo anche come utilizzare l'istruzione SELECT nelle sottoquery.

SELEZIONA per selezionare le colonne della tabella

Una query con un'istruzione SELECT per selezionare tutte le colonne di una tabella ha la seguente sintassi:

SELEZIONA * DA NOME_TABELLA

Cioè, per selezionare tutte le colonne della tabella, dopo la parola SELEZIONA, devi inserire un asterisco.

Esempio 1 C'è un database aziendale - Azienda. Ha una tabella Org (Struttura dell'azienda) e Staff (Dipendenti). È necessario selezionare tutte le colonne dalle tabelle. La query corrispondente per selezionare tutte le colonne dalla tabella Org è la seguente:

SELEZIONA * DA ORG

Questa query restituirà quanto segue (per ingrandire l'immagine, fare clic su di essa con il tasto sinistro del mouse):

La query per selezionare tutte le colonne dalla tabella Staff ha il seguente aspetto:

SELEZIONA * DALLO STAFF

Questa query restituirà quanto segue:


Per selezionare determinate colonne della tabella, invece di un asterisco, dobbiamo elencare i nomi di tutte le colonne da selezionare, separate da virgole:

SELEZIONA LE COLONNE DA SELEZIONARE DA TABLE_NAME

Esempio 2 Sia necessario selezionare le colonne Depnumb e Deptname dalla tabella Org, che contengono dati rispettivamente sui numeri dei reparti dell'azienda e sui loro nomi. La query per ottenere tale selezione sarebbe la seguente:

SELEZIONA DEPNUMB, DEPTNAME DA ORG

E dalla tabella Personale, è necessario selezionare le colonne DEPT, NAME, JOB, che contengono, rispettivamente, i dati sul numero del dipartimento in cui lavora il dipendente, il suo nome e la posizione:

SELEZIONA REPARTO, NOME, LAVORO DALLO STAFF

Per selezionare determinate righe della tabella, insieme all'istruzione SELECT, abbiamo già bisogno della parola chiave WHERE, che punta a qualche valore o più valori contenuti nelle righe di nostro interesse. Le condizioni più semplici vengono specificate utilizzando gli operatori di confronto e di uguaglianza (, =), nonché la parola chiave IS. Possono esserci diverse condizioni, quindi vengono elencate utilizzando la parola chiave AND. Le query di selezione riga hanno la seguente sintassi:

Esempio 4 Nell'esempio precedente, abbiamo selezionato le righe dalla tabella solo in base al valore di una colonna - DEPT. Supponiamo ora di dover selezionare i dati sui dipendenti che lavorano nel 38 ° dipartimento e la cui posizione è un dipendente (impiegato). Per fare ciò, nella sezione WHERE, i valori corrispondenti devono essere elencati utilizzando la parola AND:


Esempio 5 Lascia che sia necessario selezionare dalla tabella del personale gli identificatori ei nomi di quei dipendenti la cui dimensione della commissione è indefinita. Per fare ciò, nella sezione WHERE, prima di specificare il valore della colonna COMM - NULL, è necessario inserire non un segno di uguale, ma la parola IS:

Questa query restituirà i seguenti dati:


I segni di confronto vengono utilizzati anche per indicare i valori nelle righe da selezionare.

Utilizzo dei predicati SELECT e IN, OR, BETWEEN, LIKE

I predicati - le parole IN, OR, BETWEEN, LIKE nella clausola WHERE - consentono anche di selezionare specifici intervalli di valori (IN, OR, BETWEEN) o valori nelle righe (LIKE) che si desidera selezionare dalla tavolo. Le query con predicati IN, OR, BETWEEN hanno la seguente sintassi:

Le query con il predicato LIKE hanno la seguente sintassi:

Esempio 7 Supponiamo di voler selezionare dalla tabella Personale i nomi, le posizioni e il numero di anni di lavoro dei dipendenti che lavorano nei reparti con i numeri 20 o 84. Questo può essere fatto con la seguente query:

Risultato dell'esecuzione della query:


Esempio 8 Supponiamo ora di voler selezionare gli stessi dati dalla tabella Staff dell'esempio precedente. La query con la parola OR è simile alla query con la parola IN ed elenca i valori di interesse tra parentesi. La richiesta sarà la seguente:

Esempio 9 Selezioniamo dalla stessa tabella i nomi, le posizioni e il numero di anni lavorati per i dipendenti il ​​cui stipendio è compreso tra 15.000 e 17.000 inclusi:

Risultato dell'esecuzione della query:


Il predicato LIKE viene utilizzato per selezionare quelle stringhe i cui valori contengono i caratteri specificati dopo il predicato tra apostrofi (").

Esempio 10 Selezioniamo dalla stessa tabella i nomi, le posizioni e il numero di anni lavorati per i dipendenti i cui nomi iniziano con la lettera S e sono composti da 7 caratteri:

Il carattere di sottolineatura (_) indica qualsiasi carattere. Risultato dell'esecuzione della query:


Esempio 11. Selezioniamo dalla stessa tabella i nomi, le posizioni e il numero di anni lavorati per i dipendenti i cui nomi iniziano con la lettera S e contengono eventuali altre lettere in qualsiasi numero:

Il simbolo di percentuale (%) indica qualsiasi numero di caratteri. Risultato dell'esecuzione della query:


I valori specificati utilizzando i predicati IN, OR, BETWEEN, LIKE possono essere invertiti utilizzando la parola NOT. Allora i dati richiesti avranno il significato opposto. Se utilizziamo NOT IN (20, 84), verranno visualizzati i dati dei dipendenti che lavorano in tutti i reparti tranne quelli con i numeri 20 e 84. Utilizzando NOT BETWEEN 15000 AND 17000, possiamo ottenere i dati per i dipendenti il ​​​​cui stipendio non è incluso nell'intervallo da 15000 fino a 17000. Una query con NOT LIKE restituirà i dati dei dipendenti i cui nomi non iniziano o non contengono caratteri specificati con NOT LIKE.

Scrivi tu stesso query SQL con i predicati SELECT e IN, NOT IN, BETWEEN, quindi visualizza le soluzioni

C'è un database "Teatro". La tabella di gioco contiene i dati di gioco. Table Team - sui ruoli degli attori. La tabella degli attori riguarda gli attori. Direttore del tavolo - sui registi. I campi della tabella, le chiavi primarie e le chiavi esterne sono visibili nella figura sottostante (per ingrandire, fare clic con il pulsante sinistro del mouse).


Esempio 12. Visualizza un elenco di attori che non sono mai stati approvati per il ruolo principale. Nella tabella del team, i dati sui ruoli principali sono contenuti nella colonna mainteam. Se il ruolo è quello principale, nella riga corrispondente è contrassegnata "Y".

SELECT e ORDER BY - ordinamento (ordinamento) delle righe

Le query SQL SELECT che sono state analizzate finora hanno restituito righe che potrebbero essere in qualsiasi ordine. Tuttavia, è spesso necessario ordinare le stringhe in base all'ordine numerico, alfabetico e altri criteri. Questo viene fatto usando la parola chiave ORDER BY. Tali query hanno la seguente sintassi:

Esempio 15 Lascia che sia necessario selezionare dalla tabella del personale i dipendenti che lavorano nel dipartimento numero 84 e ordinare (organizzare) i record in base al numero di anni lavorati in ordine crescente:

La parola ASC indica che l'ordinamento è crescente. Questa parola è facoltativa, poiché l'ordinamento crescente è l'impostazione predefinita. Risultato dell'esecuzione della query:


Esempio 16 Lascia che sia richiesto di selezionare gli stessi dati dell'esempio precedente, ma ordina (ordina) i record per il numero di anni lavorati in ordine decrescente:

La parola DESC indica che l'ordinamento è decrescente. Risultato dell'esecuzione della query:


SELECT e DISTINCT - rimuovi le righe duplicate

Quando la condizione di unicità non è specificata per i valori delle righe della tabella, nei risultati della query potrebbero essere visualizzate righe identiche. Spesso si desidera visualizzare solo stringhe univoche. Questa operazione viene eseguita utilizzando l'istruzione DISTINCT dopo l'istruzione SELECT.

Esempio 17. Lascia che sia necessario scoprire quali dipartimenti esistono e quali posizioni tra i dipartimenti il ​​​​cui numero è inferiore a 30. Questo può essere fatto utilizzando la seguente query:

Risultato dell'esecuzione della query:


SELECT nelle sottoquery SQL

Finora ci siamo occupati di costrutti SQL con un'istruzione SELECT, in cui le condizioni in base alle quali i dati vengono selezionati e i dati selezionati sono contenuti nella stessa tabella di database. In pratica, capita spesso che i dati da selezionare siano contenuti in una tabella e le condizioni siano contenute in un'altra. È qui che vengono in soccorso le subquery: i valori della condizione di selezione vengono restituiti da un'altra query (subquery) che inizia anch'essa con SELECT. Le query con sottoquery possono produrre una o più righe.

Esempio 18. Tutte le stesse tabelle ORG e STAFF. Lascia che sia necessario scoprire in quale dipartimento lavora il dipendente con il numero di identificazione 280 e dove si trova questo dipartimento. Ma le informazioni sui reparti sono memorizzate nella tabella ORG e le informazioni sui dipendenti sono memorizzate nella tabella STAFF. Questo può essere fatto con la seguente sottoquery, dove il SELECT esterno si trova sulla tabella ORG e il SELECT interno si trova sulla tabella STAFF:

Risultato dell'esecuzione della query:


Esempio 19. Lascia che ora sia necessario scoprire in quali dipartimenti (senza duplicazioni) lavorano i dipendenti con uno stipendio inferiore a 13.000 Per fare ciò, nella sezione WHERE del SELECT esterno (query alla tabella ORG) viene specificata una condizione che prende un intervallo di valori (IN) e il SELECT interno (alla tabella STAFF) restituisce solo l'intervallo di valori richiesto:

Database relazionali e linguaggio SQL

Disciplina: banche dati

Operatori linguisticiSQL

Il linguaggio SQL include operatori di diverse categorie. Qualsiasi istruzione SQL è composta da parole riservate e parole definite dall'utente secondo regole sintattiche stabilite. Come con molti linguaggi di programmazione, la maggior parte dei componenti delle istruzioni del linguaggio non fa distinzione tra maiuscole e minuscole. L'eccezione a questa regola è, come al solito, i dati di carattere, che devono tenere conto delle maiuscole e minuscole e utilizzare quello necessario per rappresentare i dati.

Per scrivere gli enunciati nel linguaggio si adotta un formato libero, che permette di rendere più leggibile il programma SQL tramite indentazione e allineamento.

    ogni frase nell'istruzione deve iniziare su una nuova riga;

    l'inizio di ogni frase deve essere allineato con l'inizio del resto delle frasi dell'affermazione;

    ogni parte della frase dovrebbe iniziare su una nuova riga con qualche rientro rispetto all'inizio dell'intera frase, che ti permetterà di evidenziare le parti subordinate;

    Alcune convenzioni si applicano agli operatori di scrittura:

    le lettere maiuscole sono usate per scrivere parole riservate;

    le lettere minuscole vengono utilizzate per scrivere parole definite dall'utente;

    la barra verticale "|"" indica la necessità di selezionare uno tra più valori;

    le parentesi graffe definiscono un elemento obbligatorio;

    le parentesi quadre definiscono un elemento facoltativo;

    i puntini di sospensione "..." sono usati per indicare la possibilità facoltativa di ripetere il costrutto, da zero a più volte.

Gli operatori di definizione dei dati (Tabella 1) vengono utilizzati per descrivere le strutture di dati utilizzate. Questa categoria include le seguenti istruzioni: create table, drop table, alter table, create view, ALTER VIEW, DROP VIEW.

Tabella 1 . Operatori di definizione dei dati

Operatore Spiegazione

crea tabella

Tavolo GOCCIA

alter tavolo

CREA VISTA Crea una vista

alterare la vista

goccia di vista

Gli operatori di manipolazione dei dati, che costituiscono la categoria successiva di operatori, sono progettati per riempire le tabelle di dati e per aggiornare le informazioni caricate in esse. Questa categoria include i seguenti operatori: cancella, inserisci, aggiorna (Tabella 2).

Tavolo 2 . Operatori di manipolazione dei dati

OperatoreSpiegazione

Elimina Elimina una o più righe che soddisfano le condizioni

filtraggio, dalla tabella di base

INSERT Inserisce una riga nella tabella di base

update Aggiorna i valori di una o più colonne in una o più

più righe corrispondenti alle condizioni del filtro

Per selezionare le informazioni dal database si intende il linguaggio di interrogazione, che nel linguaggio SQL è rappresentato da un'unica istruzione select (Tabella 3).

Tabella 3 Lingua di interrogazione

Operatore Spiegazione

select Seleziona le righe; operatore che consente di formare il risultante

tabella corrispondente alla query

Oltre alle categorie di operatori indicate, il cui scopo non è difficile immaginare dopo aver letto le spiegazioni nelle tabelle, è necessario individuarne altre due: operatori di gestione delle transazioni (tabella 4) e strumenti di amministrazione dei dati (tabella 5) .

Tabella 4. Gestione delle transazioni

Spiegazione dell'operatore

commit Completare la transazione - completare l'elaborazione delle informazioni,

combinati in una transazione

rollback Transazione di rollback: annulla le modifiche apportate durante l'esecuzione

stato del database, contrassegnarlo in modo da poterci tornare in seguito

Tabella 5 . Amministrazione dei dati

Spiegazione dell'operatore

ALTER DATABASE Cambia l'insieme di oggetti di base nel database, restrizioni relative

l'intera banca dati

ALTER DBAREA Modifica un'area di archiviazione precedentemente creata

ALTER PASSWORD Cambia la password per l'intero database

CREA DATABASE Crea un nuovo database

CREA DBAREA Crea una nuova area di archiviazione e rendila disponibile per l'hosting

DROP DATABASE Elimina un database esistente

DROP DBAREA Elimina un'area di archiviazione esistente (se attualmente non contiene

si trovano i dati attivi)

GRANT Concedere i diritti di accesso a una serie di azioni su alcuni oggetti del database

REVOKE Revocare i diritti di accesso ad alcuni oggetti o ad alcune azioni su

oggetto

Nei DBMS commerciali, l'insieme degli operatori di base è esteso. La maggior parte dei DBMS include istruzioni per definire ed eliminare l'indice di esecuzione delle procedure memorizzate e istruzioni per definire i trigger.

È consuetudine iniziare a conoscere questo linguaggio considerando le capacità del linguaggio di query, che nel linguaggio SQL è rappresentato da un'unica istruzione select, perché questa potente istruzione, ovviamente, è anche la più complessa. Inoltre, è interessante vedere come potrà essere utilizzato in futuro insieme agli operatori di manipolazione dei dati.

    Seleziona dichiarazioneSELEZIONARE . Formazione di interrogazioni al database

Lo scopo dell'istruzione select è selezionare e visualizzare i dati da una o più tabelle di database. Questo operatore estremamente potente e più comunemente usato implementa tutte le operazioni di algebra relazionale. La stessa richiesta può essere implementata in diversi modi, che possono differire in modo significativo nel tempo di esecuzione.

Seleziona il formato della dichiarazione:

SELEZIONA *|<список полей>DA<список таблиц>

L'ordine specificato delle frasi nell'istruzione select non può essere modificato, ma non tutte le sue parti sono necessarie. Le clausole obbligatorie includono solo le clausole select e from. Tutte le altre parti dell'operatore possono essere utilizzate a discrezione del programmatore. Spiegazione:

□ Frase Selezionare:

Presenza di parole chiave Tutto(predefinito) significa che la tabella risultante include tutte le righe che soddisfano le condizioni della query, il che può portare alla visualizzazione di righe duplicate nella tabella risultante;

Parola chiave distinto progettato per allineare la tabella ai principi della teoria relazionale, che presuppone l'assenza di righe duplicate;

Simbolo " * " definisce una situazione molto comune in cui il set di risultati include tutte le colonne della tabella di query originale.

□ In una frase da viene specificato un elenco di tabelle di origine della query.

□ In una frase Dove vengono definite le condizioni per selezionare le righe dei risultati o le condizioni per unire le righe delle tabelle di origine, in modo simile all'operazione di unione condizionale nell'algebra relazionale. I seguenti predicati possono essere utilizzati come condizioni di selezione:

Confronti "= ,<>, >, <, >=, <=" - для сравнения результатов вы­числения двух выражений; более сложные выражения строятся с по­мощью логических операторов AND, OR, NOT; значения выражений вычисляются в порядке, который определяется приоритетом исполь­зуемых операторов и наличием скобок в выражении;

fraUNEIN- il predicato è vero quando il valore valutato dell'espressione rientra nell'intervallo specificato (il predicato nonfraUNEIN true quando il valore confrontato non rientra nell'intervallo specificato);

In- il predicato è vero quando il valore confrontato è compreso nell'insieme dei valori dati; in questo caso l'insieme di valori può essere specificato da una semplice enumerazione o da una subquery built-in (il predicato not in è vero quando il valore confrontato non è compreso nell'insieme specificato);

Piace E nonPiace- i predicati, il cui significato è opposto, richiedono la specifica di un modello con il quale viene confrontato il valore dato; il predicato like è vero quando il valore confrontato corrisponde al modello e falso in caso contrario;

Ènullo- un predicato utilizzato per rilevare l'uguaglianza del valore di alcuni attributi a un valore non definito:

    <имя атрибута> Ènullo- assume il valore true se l'attributo specificato in questa stringa ha un valore indefinito e false, altrimenti;

    <имя атрибута> ÈNONnullo- tutto accade al contrario.

esistere E nonesistere Utilizzato nelle sottoquery inline.

□ In una frase gruppodi l'elenco dei campi di raggruppamento è impostato.

□ In una frase avendo vengono impostate le condizioni-predicato imposte a ciascun gruppo.

□ In una frase ordinedi viene specificato un elenco di campi di ordinamento dei risultati, ovvero un elenco di campi che determina l'ordinamento nella tabella risultante.

Lo standard SQL definisce il concetto di valore NULL, che ha reso necessario l'uso della logica a tre valori, in cui tutte le operazioni logiche vengono eseguite in conformità con la tabella di verità sottostante (Tabella 6).

Tavolo 6 . tavola della verità

A E B

TRUE

1.1. Domande semplici

Richiesta 1

Visualizzare informazioni sui dipartimenti dell'università.

Questa attività si riduce alla selezione e alla visualizzazione di informazioni da una tabella e tutte le sue righe e tutte le sue colonne sono soggette all'output:

SELEZIONA * DA reparto

Il risultato di tale query sarà una tabella contenente informazioni su tutti i dipartimenti dell'università:

codice kaf

Nome kaf

Nom_telef

Nom_Auditoria

Col_sotr

Ivanov T.M.

Matematica Generale

Makhov KL.

Ross LT

Firsov S.S.

Matematica applicata

Lyakova I.T.

Richiesta 2

Visualizza i numeri di telefono dei dipartimenti universitari.

Il risultato di tale query dovrebbe contenere solo due colonne: Nome_ kaf E Nom_ telef, quindi la query stessa dovrebbe essere simile a questa:

SELEZIONA Nome_kaf, Nom_telef DA kafedra

Tabella dei risultati:

Nomekaf Nomjelef

Fisica 23-34-24

Matematica generale 23-65-43

Racconti 23-78-72

Grafici 23-99-77

Matematica applicata 23-66-62

Nelle query formate sopra, era necessario visualizzare tutte le righe della tabella specificata nella clausola from. Se la selezione deve limitare il numero di righe di output in base a una condizione, è possibile farlo utilizzando la clausola where nella query. È possibile includere una o più condizioni di selezione riga nella clausola where.

Richiesta 3

Visualizzare informazioni sul dipartimento di grafica.

SELECT * FROM kafedra WHERE Nome_kaf = "Grafici"

La risposta a tale richiesta conterrà solo una riga:

Kod.kaf Nome_kaf NomjelefNom_Auditoria Col_sotr Zav_kaf

004 Grafici 23-99-77 385 18 Firsov C.C.

Richiesta 4

Visualizzare le informazioni relative ai dipartimenti universitari posti al piano terra, tenendo conto del fatto che le aule al piano terra sono comprese nel range da 1 a 99.

La richiesta sarà simile a questa:

SELEZIONA * DA kafedra WHERE Nom_Auditoria TRA 1 E 99

Risultato della query:

KodjcafNome_kafNorn lelef Norn Audit oria Coi_sotr Zavkaf

002 Matematica generale 23-65-43 003 22 Makhov K.L.

matematica

In generale, le righe nella tabella risultante vengono visualizzate in qualche modo in uno stato non ordinato. Visualizzare e analizzare tale materiale non è sempre conveniente. La clausola order by viene utilizzata per ordinare le righe in base a qualsiasi colonna. Include un elenco separato da virgole di nomi di colonna in base ai quali si desidera ordinare le informazioni visualizzate. Questa frase deve essere sempre posta per ultima nell'istruzione select e, se presente, diventa possibile ordinare le righe in valori ascendenti (asc) o discendenti (desc) della colonna specificata o della combinazione delle colonne specificate, indipendentemente dal fatto che queste le colonne sono presenti o meno nella tabella risultante.

Richiesta 5

Visualizza le informazioni sui dipartimenti dell'università nel modulo ordinato per colonnaNome_ kafin ordine crescente.

La richiesta sarà simile a questa:

SELEZIONA * DA kafedra ORDINA PER Nome_caf ASC

Il risultato di questa richiesta:

Kod_kaf Name_kaf Nomjelef Nom_Auditoria Col_sotr Zav kaf

004 Grafici 23-E9-77 385 18 FirsovS.S.

003 Storie 23-78-72 465 16 Ross L.T.

002 Generale ma- 23-65-43 003 22 Makhov K.L.

temi

005 Applicato 23-66-62 028 24 Lyakhova I.T.

matematica

001 Fisici 23-34-24 132 25 Ivanov T.M.

Spesso è utile ordinare le informazioni visualizzate in più colonne per migliorare la visibilità. Per fare ciò, i nomi delle colonne di ordinamento devono essere elencati separati da virgole nella clausola order by. In questo caso, la tabella di output conterrà le righe ordinate in base alla prima colonna specificata nella clausola order by e le righe che hanno valori uguali in questa colonna verranno ordinate in base ai valori della seconda colonna e così via da da sinistra a destra.

Se noti un errore, seleziona una parte di testo e premi Ctrl + Invio
CONDIVIDERE: