Esplora E-book
Categorie
Esplora Audiolibri
Categorie
Esplora Riviste
Categorie
Esplora Documenti
Categorie
1.0 SELECT
SELECTCodice,NomeASSoprannome,Stipendio*12ASPagaAnnuale
FROMImpiegati
WHEREReparto=Mag
Affiancoalquestocomandovengonoindicate
lecolonnechesivoglionovisualizzare.Lasterisco(*)selezionatuttelecolonneindicatenelcomandoFROM.
IlcomandoDISTINCTpostotraSelecteilnomedellacolonnatoglietuttelerighedoppiedellacolonna.
IlcomandoAS
cambiailnomedivisualizzazionedellacolonna,sipossonoancheinseriredellecolonnecalcolatescrivendoloperazi
oneedandogliunnomeconAS.
1.0.1From
IndicalatabellaoletabelleincuideveoperareilcomandoSelect.
1.0.2Where
Indicalacondizionelogicaconcuivengonfiltrate
lecolonne.Traparentesiquadre[]sipuindicareunparametrodachiedereprimadellaselezione.Nelcasovisianod
ueopitabelleselezionatelesipumettereinrelazioneindicandoinuneguaglianzaicampivoluti.
WHERECodiceNome=Codice
1.0.3Groupby
Raggruppalerigheconlostessovaloreindicatenellaclausola.
SELECTDipartimento,SUM(Stipendio)
FROMImpiegati
GROUPBYDipartimento;
1.0.4Having
DadellecondizioniaigruppicreaticonGroupby:
SELECTDipartimento,SUM(Stipendio)
FROMImpiegati
GROUPBYDipartimento;
HAVINGSUM(stipendio)>1000
1.0.5Orderby
Ordinairecorddellacolonnaindicata,
sesivuoleunordinamentodecrescentesiscriveDESCdopoilnomedellacolonna.Anzichilnomedellacolonnasip
uindicareilnumerocorrispondentenelcomandoSelect.
ORDERBYstipendioDESC,Cognome;
2.0TABELLE
2.0.1Creazione
ConilcomandoCREATE
TABLEsipossonocrearedelletabelleedefiniredeicampi,questocomandovaeseguitonelleQuery.
Leistruzionicheseguonodefinisconoleproprietdeicampi.
CREATE TABLE Impiegati (
ID smallint Primari key,
Cognome char(30) not null,
Citt char(20) default Verona,
Stipendio decimal(9,2),
Reparto char(4) references RepartoMag(codice) );
2.0.2Primarykey
Definiscelachiaveprimaria.
2.0.3Notnull
Rendeilcampoobbligatorio.
2.0.4Default
Definisceilvalorepredefinitoperilcampo.
2.0.5References
Definiscelachiaveesternaelintegritreferenzialeconlatabellaindicata(es.RepartoMag)
2.0.6Unique
Vietalapresenzadidupplicatiinunacolonnaopi.
2.1.0Modifica
Unatabellapuesseremodificataaggiungendo(ADD)otogliendo(DROP)dellecolonne,conilcomandoALTER
TABLE.
ALTER TABLE Impiegati
ADD Cognome char(29);
Oppure
DROP Cognome;
2.1.1Eliminazione
Unatabellapuessereeliminataconilcomando:
DROP TABLE Impiegati;
2.1.2Creazioneindice
LacreazionediunindiceabbinatoalcomandoUniquefacilitalaricercadeirecords.
CREATE UNIQUE INDEX IndiceImpiegati
ON impiegati(Cognome, Nome);
3.0DATI
Sipossonoinserire,modificareecancellaredeirecordnellatabellaconiseguenticomandi:
3.0.1Insert
3.0.2Update
UPDATE Impiegati
SET Cognome = Rossi, Nome = Mario
WHERE ID = 20
ListruzioneSETaggiornaidatieWHEREindicaqualidatimodificare.
3.0.4Delete
4.0JOIN
4.1LEFTJOINONselezionatuttiirecorddellatabelladisinistra,inquestocasolatabellaImpiegati.
SELECT Impiegati.Nome, Dipartimento.Descrizione
FROM Impiegati LEFT JOIN Dipartimento
ON Dipartimento.codice = Impiegati.Dipartimento;
4.2RIGHTJOINONselezionatuttiirecorddellatabelladidestra,Dipartimento.
SELECT Impiegati.Nome, Dipartimento.Descrizione
FROM Impiegati RIGHT JOIN Dipartimento
ON Dipartimento.codice = Impiegati.Dipartimento;
Nelcasosivoglianovisualizzaresiatuttiirecordsdelleduetabellebisognaunireicodiciprecedenticonilcomando
UNION.
5.0FUNZIONIDIAGGREGAZIONE
AllinternodelcomandoSelectsipossonofarealcunicalcolidiaggregazionesullecolonne.
5.0.1COUNT:Contairecorddellacolonnaselezionata.
SELECT COUNT (Nome)
FROM Impiegati;
5.0.2SUM:Sommatuttiirecorddellacolonna,inquestocasoquelliconNomemaggiorediM.
SELECT SUM(Stipendio)
FROM impiegati
WHERE Nome > M;
5.0.3AVG:calcolalamedia.
SELECT AVG(Stipendio)
FROM impiegati, Dipartimento
WHERE Nome > M and Dipartimento = codice;
5.0.4MINeMAXcalcolanoilvaloreminimoequellomassimo.
6.0QUERY
6.0.1Querydicreazionetabella:AllafinedelcomandoSelectsiscriveINTOeilnomedellanuovaTabella.
SELECT Codice, Nome AS Soprannome INTO Magazzino
FROM Impiegati
WHERE Reparto = Mag;
6.0.2 Query di accodamento: si aggiunge una riga prima del comando Select dove con INSERT
INTO si indica dove si vuole accodare la tabella risultante.
INSERT INTO Magazzino (Codice, Nome)
SELECT Codice, Nome AS Soprannome
FROM Impiegati
WHERE Reparto = Mag;
6.0.3Querydiaggiornamento:siusailcomandopermodificareidatiUPDATE.
UPDATE Impiegati
SET Cognome = Rossi, Nome = Mario
WHERE ID = 20
6.0.4Queryperselezionareivaloripialtiopibassi.
SELECT TOP 5 Codice, Nome
FROM Impiegati
WHERE Reparto = Mag;
ORDER BY Nome
7.0CONDIZIONIDIRICERCA
7.0.1Between
7.0.2In
Controllaivaloridellacolonnaeselezionaquellicheappartengonoallalista.
WHERE Citt IN (Verona, Milano, Genova)
7.0.3Like
Controllailvalorediuncampo,(_)indicaunsolocaratterequalsiasi,mentre(%)indicazeroopicaratteri.Es.
LIKE abd% o %abc o %abc% o _abc
7.0.4IsNull
7.0.5Interrogazioninidificate
Leinterrogazionisonoimportantiperstabiliredelleselezioniconcampicalcolati.
SELECT Nome, Cognome
FROM Impiegati
WHERE Stipendio > (SELECT AVG (Stipendio) FROM impiegati);