4 quali funzioni vengono utilizzate nel linguaggio sql. Funzioni di stringa SQL - esempi di utilizzo. Sintassi dell'istruzione SELECT e ordine di elaborazione
In questo articolo puoi esaminare i tipi di funzioni nel linguaggio SQL. Le funzioni possono essere aggregate o scalari. Iniziamo ...
CONTARE ()
CONTARE ()- una funzione che restituisce il numero di record (righe) della tabella. La scrittura di una funzione che specifica una colonna restituirà il numero di record per una colonna specifica, esclusi i record NULL. Sintassi della funzione:
COUNT (nome_colonna);
La registrazione della funzione con la maschera "*" restituirà il numero di tutti i record nella tabella. Sintassi:
CONTARE (*);
Diamo un'occhiata ad alcuni esempi. C'è la seguente tabella Università:
ID | NomeUniversità | Studenti | facoltà | professori | Posizione | Posto |
1 | Università statale di ricerca nazionale di Perm | 12400 | 12 | 1229 | permanente | psu.ru |
2 | Università statale di San Pietroburgo | 21300 | 24 | 13126 | San Pietroburgo | spbu.ru |
3 | Università statale di Novosibirsk | 7200 | 13 | 1527 | Novosibirsk | nsu.ru |
4 | Università statale di Mosca | 35100 | 39 | 14358 | Mosca | msu.ru |
5 | Scuola Superiore di Economia | 20335 | 12 | 1615 | Mosca | hse.ru |
6 | Università Federale degli Urali | 57000 | 19 | 5640 | Ekaterinburg | urfu.ru |
7 | Università Nazionale di Ricerca Nucleare | 8600 | 10 | 936 | Mosca | mephi.ru |
Esempio 1. Stampare il numero di record in una tabella utilizzando la funzione COUNT:
SELEZIONA CONTEGGIO (*)
DA Università; // stamperà 7
Esempio 2. Trova il numero di università situate a Mosca utilizzando la funzione COUNT:
SELEZIONA COUNT (*) FROM Università WHERE Località = "Mosca"; // stamperà 3
MEDIA ()
MEDIA ()- una funzione che restituisce il valore medio di una colonna. Questa funzione è applicabile solo alle colonne numeriche. Sintassi:
AVG (nome_colonna);
Diamo un'occhiata a un esempio. Prendiamo il nostro tavolo delle Università. Esempio. Trova il numero medio di studenti per tutte le università utilizzando la funzione AVG:
SELECT AVG (Studenti) FROM Università; // stampa 23133
MIN ()
MIN ()- una funzione che restituisce il valore minimo di una colonna. La funzione ha la seguente sintassi:
MIN (nome_colonna);
Diamo un'occhiata a un esempio. Prendiamo il nostro tavolo delle Università. Esempio. Utilizzando la funzione MIN, trova il valore minimo della colonna Professori:
SELECT MIN (Professori) FROM Università; // stampa 936
MASSIMO ()
MASSIMO ()- una funzione che restituisce il valore massimo di una colonna della tabella. La funzione ha la seguente sintassi:
MAX (nome_colonna);
Diamo un'occhiata a un esempio. Prendiamo il nostro tavolo delle Università. Esempio. Utilizzando la funzione MAX, trova il valore massimo della colonna Studenti:
SELECT MAX (Studenti) FROM Università; // stamperà 57000
SOMMA ()
SOMMA ()- una funzione che restituisce la somma dei valori di una colonna della tabella. Utilizzato solo per colonne numeriche. Sintassi della funzione:
SOMMA (espressione);
Parametro TUTTI- è l'opzione predefinita. Viene conteggiata la somma di tutte le righe. Quando si specifica un parametro DISTINTO- vengono contati solo i valori univoci.
Diamo un'occhiata ad alcuni esempi. Prendiamo il nostro tavolo delle Università. Esempio 1. Utilizzando la funzione SOMMA, trovare nella tabella il numero di Studenti di tutte le università:
SELEZIONA SOMMA (Studenti) DA Università; // stamperà il 161935
Esempio 2. Utilizzando la funzione SOMMA, calcolare i valori univoci della colonna Facoltà:
SELEZIONARE LA SOMMA (Facoltà DISTINTE) DALLE Università; // visualizza 117 (nella colonna Facoltà ci sono 2 record identici, sotto ID 1 e 5. Il valore della colonna sotto ID 5 non viene sommato.)
IL GIRO ()
IL GIRO ()- funzione per arrotondare i numeri decimali. Funziona solo con colonne numeriche o numeri reali arbitrari. Sintassi della funzione:
ROUND (espressione, lunghezza);
espressione- il nome della colonna o delle colonne, nonché un numero reale. lunghezza- indica la precisione di arrotondamento di un numero.
Diamo un'occhiata a un esempio. Prendiamo la tabella dei pianeti:
ID | PianetaNome | Raggio | stagione del sole | Anno di apertura | AvereAnelli | apri |
1 | Marte | 3396 | 687.58 | 1659 | # | Christian huygens |
2 | Saturno | 60268 | 10759.22 | - | sì | - |
3 | Nettuno | 24764 | 60190.91 | 1846 | sì | John Couch Adams |
4 | Mercurio | 2439 | 115.88 | 1631 | # | Niccolò Copernico |
5 | Venere | 6051 | 243.56 | 1610 | # | Galileo Galilei |
Esempio. Arrotonda la colonna SunSeason a una cifra decimale utilizzando la funzione ARROTONDA:
SELECT ROUND (SunSeason, 1) FROM Pianeti;
UCAS ()
UCAS ()- una funzione che restituisce i valori di una o più colonne in lettere maiuscole. In MS DBMS server SQL l'analogo di UCASE() è la funzione UPPER con la stessa sintassi:
UCASE (nome_colonna)
Diamo un'occhiata a un esempio. Prendiamo la nostra tabella dei pianeti. Esempio. Stampa i nomi dei pianeti in maiuscolo che non hanno anelli usando la funzione UCASE:
SELECT UCASE (PlanetName) FROM Pianeti WHERE HaveRings = "No";
LCASE ()
LCASE ()- una funzione che restituisce i valori di una o più colonne in lettere minuscole. Nel DBMS MS SQL Server, l'analogo dell'operatore SQL LCASE() è la funzione LOWER con la stessa sintassi:
LCASE (nome_colonna);
Diamo un'occhiata a un esempio. Prendiamo la nostra tabella dei pianeti. Esempio. Usa la funzione LCASE per visualizzare i nomi dei pianeti con gli anelli in minuscolo:
SELECT LCASE (PlanetName) FROM Planets WHERE HaveRings = "Sì";
LUNGHEZZA ()
LUNGHEZZA ()- una funzione che restituisce la lunghezza di un valore in un campo record. La funzione esclude gli spazi finali dal conteggio. Sintassi:
LEN (nome_colonna);
Diamo un'occhiata a un esempio. Prendiamo la nostra tabella dei pianeti. Esempio. Stampa l'Apri e la lunghezza del nome del pianeta che ha scoperto, usando la funzione LEN:
SELECT Opener, LEN (PlanetName) FROM Pianeti;
MEDIA ()
MEDIA ()- una funzione che visualizza un certo numero di caratteri nel campo di testo della tabella. Sintassi della funzione:
MID (nome_colonna, inizio [, lunghezza]);
Parametro cominciare imposta la posizione del carattere iniziale. Parametro lunghezza imposta il numero di caratteri da emettere a partire dalla posizione specificata nel parametro di inizio.
Diamo un'occhiata a un esempio. Prendiamo il nostro vecchio tavolo delle Università. Esempio. Visualizza i primi 3 caratteri del nome della città (Località) utilizzando la funzione MID:
SELECT MID (Località, 1, 3) FROM Università;
ORA ()
ORA ()- una funzione che restituisce l'ora e la data del sistema. Sintassi della funzione:
Diamo un'occhiata a un esempio. Prendiamo il nostro vecchio tavolo delle Università. Esempio. Mostra quanti studenti stanno attualmente studiando in ciascuna università. utilizzando la funzione ADESSO:
SELEZIONA NomeUniversità, Studenti, ORA () COME CurDate FROM Università;
Per proteggere il materiale, segui tu stesso l'esempio di ciascuna funzione. Se hai domande, scrivi nei commenti e ti risponderò sicuramente.
Comandi SQL di base che ogni programmatore dovrebbe conoscere
SQL, o Structured Query Language, viene utilizzato per manipolare i dati in un sistema di database relazionale (RDBMS). Questo articolo parlerà dei comandi SQL comunemente usati con cui ogni programmatore dovrebbe avere familiarità. Questo materiale è l'ideale per coloro che desiderano rispolverare le proprie conoscenze SQL prima di un colloquio di lavoro. Per fare ciò, analizza gli esempi forniti nell'articolo e ricorda cosa hai passato in coppia attraverso i database.
Nota che alcuni sistemi di database richiedono un punto e virgola alla fine di ogni istruzione. Il punto e virgola è un puntatore standard alla fine di ogni istruzione in SQL. Gli esempi usano MySQL, quindi è richiesto un punto e virgola.
Configurazione del database per esempi
Crea un database per dimostrare come lavorano i team. Per funzionare, è necessario scaricare due file: DLL.sql e InsertStatements.sql. Successivamente, apri un terminale e accedi alla console MySQL con il seguente comando (questo articolo presuppone che MySQL sia già installato sul sistema):
Mysql -u root -p
Quindi inserisci la tua password.
Esegui il seguente comando. Chiamiamo il database "università":
CREA DATABASE università; USE università; FONTE Potrebbe essere necessario creare vincoli per colonne specifiche nella tabella. Quando si crea una tabella, è possibile impostare le seguenti restrizioni: È possibile specificare più di una chiave primaria. In questo caso, ottieni una chiave primaria composita. Crea la tabella "istruttore": CREATE TABLE istruttore (ID CHAR (5), nome VARCHAR (20) NOT NULL, nome_dipartimento VARCHAR (20), stipendio NUMERICO (8,2), CHIAVE PRIMARIA (ID), CHIAVE ESTERA (nome_dipartimento) REFERENCES reparto (nome_dipartimento)); Puoi visualizzare varie informazioni (tipo di valore, chiave o meno) sulle colonne della tabella con il seguente comando: DESCRIVERE Quando si aggiungono dati a ciascuna colonna della tabella, non è necessario specificare i nomi delle colonne. INSERIRE SELECT viene utilizzato per recuperare i dati da una tabella specifica: SELEZIONARE Il comando seguente può visualizzare tutti i dati della tabella: SCELTO DA Le colonne della tabella possono contenere dati duplicati. Usa SELECT DISTINCT per ottenere solo dati non duplicati. SELEZIONA DISTINTO Può essere utilizzato parola chiave WHERE in SELECT per specificare le condizioni nella query: SELEZIONARE Nella richiesta possono essere specificate le seguenti condizioni: Prova i seguenti comandi. Prestare attenzione alle condizioni specificate nel WHERE: SELECT * FROM corso WHERE dept_name = 'Comp. Sci. '; SELEZIONA * FROM corso WHERE crediti > 3; SELECT * FROM course WHERE dept_name = "Comp. Sci." AND crediti > 3; La clausola GROUP BY viene spesso utilizzata con funzioni aggregate come COUNT, MAX, MIN, SUM e AVG per raggruppare i valori di output. SELEZIONARE Mostriamo il numero di corsi per ciascuna facoltà: SELECT COUNT (course_id), dept_name FROM corso GROUP BY dept_name; La parola chiave HAVING è stata aggiunta a SQL perché WHERE non può essere utilizzata con le funzioni aggregate. SELEZIONARE Elenchiamo le facoltà con più di un corso: SELECT COUNT (course_id), dept_name FROM corso GROUP BY dept_name HAVING COUNT (course_id)> 1; ORDER BY viene utilizzato per ordinare i risultati della query in ordine decrescente o crescente. ORDER BY ordinerà in ordine crescente se non viene specificato alcun metodo di ordinamento ASC o DESC. SELEZIONARE Mostriamo un elenco di corsi in ordine crescente e decrescente del numero di crediti: SELEZIONA * DA corso ORDINA PER crediti; SELEZIONA * DA corso ORDINA PER crediti DESC; BETWEEN viene utilizzato per selezionare i valori dei dati da un intervallo specificato. È possibile utilizzare valori numerici e di testo, nonché date. SELEZIONARE Ecco un elenco di istruttori il cui stipendio è superiore a 50.000 ma inferiore a 100.000: SELECT * FROM istruttore DOVE stipendio TRA 50000 E 100000; L'operatore LIKE viene utilizzato in WHERE per specificare un modello di ricerca per un valore simile. Ci sono due operatori gratuiti che vengono utilizzati in LIKE: Mostriamo un elenco di corsi, il cui nome contiene "to", e un elenco di corsi, il cui nome inizia con "CS-": SELEZIONA * FROM corso WHERE titolo LIKE ‘% to%’; SELECT * FROM course WHERE course_id LIKE "CS -___"; Puoi utilizzare IN per specificare più valori per la clausola WHERE: SELEZIONARE Mostriamo un elenco di studenti di Comp. Sci. Fisica e Elec. Ing.: SELECT * FROM studente WHERE nome_dipartimento IN ('Comp. Sci.', 'Fisica', 'Ing.elettr.'); JOIN viene utilizzato per collegare due o più tabelle utilizzando attributi comuni al loro interno. L'immagine qui sotto mostra diversi modi si unisce in SQL. Nota la differenza tra un join esterno sinistro e un join esterno destro: SELEZIONARE Verrà visualizzato un elenco di tutti i corsi e le informazioni corrispondenti sulle facoltà: SELECT * FROM corso ISCRIVITI dipartimento ON course.dept_name = dipartimento.dept_name; Elenchiamo tutti i corsi richiesti e i dettagli su di essi: SELECT prereq.course_id, titolo, dept_name, crediti, prereq_id FROM prereq LEFT OUTER JOIN corso ON prereq.course_id = course.course_id; Mostriamo un elenco di tutti i corsi, indipendentemente dal fatto che siano obbligatori o meno: SELEZIONA course.course_id, title, dept_name, credits, prereq_id FROM prereq RIGHT OUTER JOIN course ON prereq.course_id = course.course_id; View è una tabella SQL virtuale creata eseguendo un'espressione. Contiene righe e colonne ed è molto simile a una normale tabella SQL. Visualizza mostra sempre le informazioni più recenti dal database. Creiamo una vista composta da corsi con 3 crediti: Tali funzioni vengono utilizzate per ottenere un risultato aggregato relativo ai dati in oggetto. Le seguenti sono funzioni aggregate comunemente usate: Le sottoquery nidificate sono query SQL che includono clausole SELECT, FROM e WHERE nidificate all'interno di un'altra query. Troviamo i corsi che sono stati tenuti nell'autunno 2009 e nella primavera 2010: SELECT DISTINCT id_corso FROM sezione WHERE semestre = 'Autunno' AND anno = 2009 AND id_corso IN (SELEZIONARE id_corso FROM sezione WHERE semestre = 'Primavera' AND anno = 2010); Le funzioni sono un tipo speciale di comando in un insieme di comandi SQL e ogni dialetto ha la propria implementazione del set di comandi. Di conseguenza, possiamo dire che le funzioni sono comandi composti da una sola parola che restituiscono un unico valore. Il valore di una funzione può dipendere dai parametri di input, come nel caso di una funzione che calcola la media di una lista di valori in un database. Tuttavia, molte funzioni non utilizzano alcun parametro di input, ad esempio la funzione che restituisce l'ora di sistema corrente - CURRENTJ1ME. Lo standard ANSI supporta diverse funzioni utili. Questo capitolo descrive queste funzioni e descrizione dettagliata ed esempi per ciascuna delle piattaforme. Inoltre, ogni piattaforma ha un lungo elenco delle proprie funzioni interne che vanno oltre lo standard SQL. Questo capitolo fornisce parametri e descrizioni di tutte le funzioni interne di ciascuna piattaforma. Inoltre, la maggior parte delle piattaforme ha la possibilità di creare funzioni personalizzate. Per Informazioni aggiuntive Per le funzioni definite dall'utente, vedere le istruzioni CREATE/ALTER FUNCTION/PROCEDURE esiste diversi modi classificazione delle funzioni. Le seguenti sottosezioni descrivono importanti differenze per aiutarti a capire come funzionano le funzionalità. Le funzioni possono essere deterministiche e non deterministiche. Una funzione deterministica restituisce sempre lo stesso risultato per lo stesso insieme di input. Le funzioni non deterministiche possono restituire risultati diversi su chiamate diverse, anche se vengono passati gli stessi valori di input. Perché è così importante che con lo stesso parametri di input hai ottenuto gli stessi risultati? Questo è importante perché definisce il modo in cui le funzioni vengono utilizzate nelle viste, nelle UDF e nelle stored procedure. Le limitazioni possono variare da piattaforma a piattaforma, ma a volte su questi oggetti possono essere utilizzate solo funzioni deterministiche. SQL Server, ad esempio, può creare un indice su un'espressione in una colonna, a meno che l'espressione non contenga funzioni non deterministiche. Le regole e le restrizioni su piattaforme diverse sono diverse, quindi fare riferimento alla documentazione del produttore quando si utilizzano le funzioni. Un altro modo per classificare le funzioni è quando possono lavorare con una sola riga, con una raccolta di valori o con insiemi di righe. Le funzioni aggregate operano su una raccolta di valori e restituiscono un unico valore totale. Le funzioni scalari restituiscono un singolo valore a seconda degli argomenti di input scalari. Alcune funzioni scalari, come CURRENTJTIME, non richiedono alcun argomento. Le funzioni finestra possono essere pensate come simili alle funzioni aggregate in quanto possono operare su più righe contemporaneamente. La differenza è come vengono specificate queste righe. Le funzioni aggregate operano sui set di righe specificati nella clausola GROUP BY. Nel caso delle funzioni finestra, il set di righe viene specificato con ogni chiamata alla funzione e diverse sfide le funzioni all'interno della stessa query possono funzionare con diversi set di righe. Continuiamo a studiare il linguaggio di query SQL e oggi ne parleremo Funzioni stringa SQL... Tratteremo le funzioni di stringa di base e comunemente usate come: ABBASSARE, LTRIM, SOSTITUIRE e altri, considereremo tutto, ovviamente, con esempi. SELEZIONA nome || cognome COME FIO DA tabella Oppure, per separare con uno spazio, inserisci quelli. due barre verticali uniscono due colonne in una e per separarle con uno spazio, metto uno spazio tra di loro ( è possibile utilizzare qualsiasi carattere, come trattino o due punti) in apostrofi e anche combinato con due barre verticali ( Transact-SQL usa + invece di due barre verticali). Poi c'è anche una funzione molto utile, INITCAP- che restituisce il valore in una stringa in cui ogni parola inizia con una lettera maiuscola e continua con una minuscola. Ciò è necessario se non si seguono le regole di riempimento in una colonna particolare e per visualizzare il tutto in bella forma puoi usare questa funzione, ad esempio, hai il seguente modulo nella colonna del nome nella tabella: IVAN ivanov o petr petrov, usi questa funzione. SELEZIONA INITCAP (nome) COME FIO DA tabella E lo otterrai così. Una funzione simile, restituisce solo tutti i caratteri in maiuscolo, questo è SUPERIORE. SELEZIONA SUPERIORE (nome) COME FIO DA tabella Consideriamo subito la funzione inversa. RPAD- l'azione e la sintassi sono le stesse di LPAD, solo i caratteri a destra sono riempiti ( nel LPAD a sinistra). SELEZIONA RPAD (nome, 20, "-") COME nome DA tabella Next è anche una funzione utile in alcuni casi, LTRIM- questa funzione rimuove i caratteri più a sinistra specificati. Ad esempio, hai una colonna "città" nel tuo database, in cui la città è indicata come "Mosca", e ci sono anche città che sono indicate semplicemente come "Mosca". Ma devi visualizzare il rapporto solo sotto forma di "Mosca" senza "g". Devi solo specificare una sorta di modello "g" e se i caratteri più a sinistra iniziano con "g", questi caratteri semplicemente non verranno visualizzati. SELEZIONA LTRIM (città, "città") COME Gorod FROM tabella Questa funzione esegue la scansione dei caratteri a sinistra, se non ci sono caratteri nel modello all'inizio della riga, restituisce il valore originale della cella e, se presente, li elimina. Diamo subito un'occhiata anche alla funzione inversa. RTRIM- come LTRIM, a destra vengono cercati solo i caratteri. Nota! In Transact-SQL, le funzioni RTRIM e LTRIM rimuovono gli spazi rispettivamente da destra e da sinistra. Ora diamo un'occhiata a una funzione così interessante come SOSTITUIRE- restituisce una stringa in cui tutte le corrispondenze di caratteri vengono sostituite con i caratteri che specifichi. Per quello che può essere usato, ad esempio, hai colonne nel tuo database, in cui ci sono alcuni simboli di separazione, ad esempio "/". Ad esempio, Ivan / Ivanov e desideri visualizzare Ivan-Ivanov, quindi scrivi SELEZIONA SOSTITUISCI (nome, "/", "-") FROM tabella e avrai una sostituzione dei simboli. Questa funzione sostituisce solo una corrispondenza completa di caratteri, se ad esempio si specifica "-", ad es. cercherà solo tre trattini e non sostituirà ogni singolo trattino, a differenza della funzione successiva. TRADURRE- una funzione stringa che sostituisce tutti i caratteri nella stringa con i caratteri specificati. In base al nome della funzione, potresti intuire che si tratta di un feed di riga completo. La differenza tra questa funzione e REPLACE è che sostituisce ogni carattere specificato, ad es. hai tre caratteri, diciamo abc e s usando TRANSLATE Puoi sostituirlo con abc in modo da avere a = a, b = b, c = c e, secondo questo principio, tutte le corrispondenze di caratteri verranno sostituite. E se hai sostituito con SOSTITUISCI, stavi cercando solo una corrispondenza completa di simboli abc situati in una riga. SUBSTR – questa funzione, restituisce solo l'intervallo di caratteri specificato. In altre parole, diciamo una stringa di 10 caratteri e non ti servono tutti e dieci, ma diciamo che ti occorrono solo 3-8 ( dalla terza all'ottava). Con questa funzione, puoi farlo facilmente. Ad esempio, hai un identificatore nel database di lunghezza fissa (come AA-BB-55-66-CC) e ogni combinazione di caratteri significa qualcosa. E in un bel momento ti è stato detto di visualizzare solo 2 e 3 combinazioni di caratteri, per questo scrivi una query della forma seguente. SELECT SUBSTR (ident, "4", "8") FROM tabella quelli. stampiamo tutti i caratteri, iniziando con 4 e finendo con 8, e dopo questa query otterrai questo: Anche la funzione successiva può tornare utile, è LUNGHEZZA- che conta solo il numero di caratteri in una riga. Ad esempio, devi scoprire quanti caratteri ci sono in ogni cella in una colonna, diciamo "nome", una tabella come questa. dopo questa richiesta riceverai questo. Eccoci qui con te e abbiamo esaminato le funzioni di base delle stringhe SQL. Continueremo la nostra esplorazione di SQL nei prossimi articoli. Impareremo a riassumere. No, questi non sono ancora i risultati dello studio di SQL, ma i risultati dei valori delle colonne delle tabelle del database. Le funzioni aggregate SQL agiscono sui valori delle colonne per produrre un singolo valore di risultato. Le funzioni di aggregazione SQL più comunemente utilizzate sono SUM, MIN, MAX, AVG e COUNT. È necessario distinguere tra due casi di utilizzo di funzioni aggregate. Innanzitutto, le funzioni aggregate vengono utilizzate da sole e restituiscono un singolo valore risultante. In secondo luogo, le funzioni aggregate vengono utilizzate con la clausola SQL GROUP BY, ovvero con il raggruppamento per campi (colonne) per ottenere i valori dei risultati in ciascun gruppo. Consideriamo prima i casi di utilizzo di funzioni aggregate senza raggruppamento. La funzione SQL SUM restituisce la somma dei valori di una colonna in una tabella di database. Può essere applicato solo alle colonne i cui valori sono numeri. Query SQL per ottenere l'importo risultante, inizia in questo modo: SELEZIONA SOMMA (COLUMN_NAME) ... Questa espressione è seguita da FROM (TABLE_NAME), quindi è possibile specificare una condizione utilizzando la clausola WHERE. Inoltre, DISTINCT può essere specificato davanti al nome della colonna, il che significa che verranno conteggiati solo i valori univoci. Per impostazione predefinita, vengono presi in considerazione tutti i valori (per questo, è possibile specificare specificamente non DISTINCT, ma ALL, ma la parola ALL è facoltativa). Esempio 1. C'è un database dell'azienda con i dati sulle sue divisioni e dipendenti. La tabella Personale, oltre a tutto, ha una colonna con i dati sugli stipendi dei dipendenti. La selezione dalla tabella è la seguente (per ingrandire l'immagine cliccarci sopra con il tasto sinistro del mouse): Per ottenere la somma di tutti gli stipendi, utilizziamo la seguente query: SELEZIONA SOMMA (stipendio) DA Personale Questa query restituirà 287664.63. E adesso . Negli esercizi, stiamo già iniziando a complicare i compiti, avvicinandoli a quelli che si incontrano nella pratica. La funzione SQL MIN funziona anche su colonne i cui valori sono numeri e restituisce il minimo di tutti i valori nella colonna. Questa funzione ha la stessa sintassi della funzione SOMMA. Esempio 3. Il database e la tabella sono gli stessi dell'esempio 1. È necessario scoprire il salario minimo dei dipendenti del dipartimento con il numero 42. Per fare ciò, scrivi la seguente richiesta: La richiesta restituirà il valore 10505.90. E di nuovo esercizio di auto-aiuto... In questo e in altri esercizi, avrai bisogno non solo della tabella Staff, ma anche della tabella Org, che contiene i dati sulle divisioni dell'azienda: Esempio 4. La tabella Org viene aggiunta alla tabella Staff, che contiene i dati sulle divisioni dell'azienda. Visualizza il numero minimo di anni in cui un singolo dipendente ha lavorato in un dipartimento situato a Boston. La funzione SQL MAX funziona in modo simile e ha una sintassi simile, che viene utilizzata quando è necessario determinare il valore massimo tra tutti i valori in una colonna. Esempio 5. È necessario scoprire lo stipendio massimo dei dipendenti del dipartimento numero 42. Per fare ciò, scrivi la seguente richiesta: La richiesta restituirà il valore 18352.80 È giunto il momento esercizi per l'autosoluzione. Esempio 6. Stiamo lavorando di nuovo con due tabelle: Staff e Org. Visualizza il nome del reparto e le provvigioni massime guadagnate da un dipendente in un reparto appartenente alla Divisione Orientale. Utilizzo UNISCITI (unisci tabelle) . La sintassi precedente per le funzioni descritte in precedenza è vera anche per la funzione SQL AVG. Questa funzione restituisce la media di tutti i valori in una colonna. Esempio 7. Il database e la tabella sono gli stessi degli esempi precedenti. Supponiamo di voler scoprire l'esperienza lavorativa media dei dipendenti del dipartimento numero 42. Per fare ciò, scrivi la seguente query: Il risultato sarà un valore di 6.33 Esempio 8. Lavoriamo con un tavolo - Staff. Ritirare lo stipendio medio dei dipendenti con un'esperienza da 4 a 6 anni. La funzione SQL COUNT restituisce il numero di record in una tabella di database. Se specifichi SELECT COUNT (COLUMN_NAME) ... nella query, il risultato sarà il numero di record esclusi i record in cui il valore della colonna è NULL (non definito). Se si utilizza un asterisco come argomento e si avvia una query SELECT COUNT (*) ..., il risultato sarà il numero di tutti i record (righe) nella tabella. Esempio 9. Il database e la tabella sono gli stessi degli esempi precedenti. È necessario conoscere il numero di tutti i dipendenti che ricevono commissioni. Il numero di dipendenti i cui valori della colonna Comm non sono NULL restituirà la seguente query: SELEZIONA COUNT (Comm) DA Staff Il risultato è 11. Esempio 10. Il database e la tabella sono gli stessi degli esempi precedenti. Se hai bisogno di scoprire il numero totale di record in una tabella, usiamo una query con un asterisco come argomento della funzione COUNT: SELEZIONA COUNT (*) FROM Staff Il risultato è 17. Nel prossimo esercizio di auto-aiuto sarà necessario utilizzare una sottoquery. Esempio 11. Lavoriamo con un tavolo - Staff. Visualizzare il numero di dipendenti nel reparto di pianificazione (pianure). Ora diamo un'occhiata all'utilizzo delle funzioni aggregate in combinazione con la clausola SQL GROUP BY. La clausola SQL GROUP BY viene utilizzata per raggruppare i valori dei risultati in base alle colonne della tabella del database. Il sito ha una lezione dedicata a questo operatore a parte . Esempio 12. C'è un database del portale di annunci. Contiene la tabella Annunci, che contiene i dati sugli annunci inviati per la settimana. La colonna Categoria contiene dati su grandi categorie di annunci (ad esempio, Immobili), mentre la colonna Parti contiene dati sulle parti più piccole incluse nella categoria (ad esempio, le parti Appartamenti e Ville fanno parte della categoria Immobili). La colonna Unità contiene i dati sul numero di annunci inviati e la colonna Denaro contiene la quantità di denaro ricevuta per l'invio degli annunci. Utilizzando l'istruzione SQL GROUP BY, trova la quantità di denaro guadagnata dalla pubblicazione di annunci in ciascuna categoria. Scriviamo la seguente richiesta: SELEZIONA Categoria, SOMMA (Soldi) COME Denaro DAGLI Annunci GRUPPI PER Categoria Esempio 13. Il database e la tabella sono gli stessi dell'esempio precedente. Usa l'istruzione SQL GROUP BY per scoprire quale parte di ogni categoria ha avuto il maggior numero di annunci. Scriviamo la seguente richiesta: SELEZIONA Categoria, Parte, MAX (Unità) AS Massimo FROM Annunci GRUPPO PER Categoria Il risultato sarà la seguente tabella: È possibile ottenere i valori totali e individuali in una tabella combinazione dei risultati della query utilizzando l'operatore UNION . Database relazionali e linguaggio SQLComandi del database
1. Visualizza i database disponibili
MOSTRA BANCHE DATI; 2. Creazione di un nuovo database
CREA DATABASE; 3. Scegliere un database da utilizzare
UTILIZZO 4. Importazione di comandi SQL dal file .sql
FONTE 5. Rimozione del database
DROP DATABASE Lavorare con le tabelle
6. Visualizzazione delle tabelle disponibili nel database
MOSTRA TABELLE; 7. Creazione di una nuova tabella
CREA TABELLA Vincoli di integrità utilizzando CREATE TABLE
Esempio
8. Informazioni sulla tabella
9. Aggiunta di dati alla tabella
INSERIRE 10. Aggiornamento dei dati della tabella
AGGIORNARE 11. Rimozione di tutti i dati dalla tabella
ELIMINA DA 12. Eliminare una tabella
TABELLA DROP Comandi per fare query
13. SELEZIONA
14. SELEZIONA DISTINTO
15. DOVE
Esempio
16. GRUPPO PER
Esempio
17. AVERE
Esempio
18. ORDINA PER
Esempio
19. TRA
Esempio
20. MI PIACE
SELEZIONARE Esempio
21. IN
Esempio
22. ISCRIVITI
Esempio 1
Esempio 2
Esempio 3
23. Visualizza
Creazione
CREA VISTA Eliminazione
VISTA A GOCCIA Esempio
24. Funzioni aggregate
25. Sottoquery nidificate
Esempio
Tipi di funzione
Funzioni deterministiche e non deterministiche
Funzioni aggregate e scalari
Funzioni della finestra
Funzione INITCAP
Funzione SUPERIORE
Funzione RPAD
Ivan —————-
Sergey -----
Funzione LTRIM
Funzione RTRIM
Funzione SOSTITUISCI
Funzione TRANSLATE
Funzione SUBSTR
Funzione LENGTH - lunghezza della stringa
4
6
7
Funzione SOMMA SQL
Funzione SQL MIN
Funzione SQL MAX
Funzione SQL AVG
Funzione SQL COUNT
Funzioni di aggregazione con SQL GROUP BY (raggruppamento)
Categoria Parte Unità Soldi
Trasporto Veicoli a motore 110
17600
Immobiliare Appartamenti 89
18690
Immobiliare Cottage 57
11970
Trasporto Motociclette 131
20960
Materiali da costruzione tavole 68
7140
Ingegnere elettrico televisori 127
8255
Ingegnere elettrico Frigoriferi 137
8905
Materiali da costruzione Regips 112
11760
Tempo libero libri 96
6240
Immobiliare case 47
9870
Tempo libero Musica 117
7605
Tempo libero Giochi 41
2665