Oggi illustreremo dopo aver creato una nuova tabella una serie di query che ci consentono di interrogarla per estrepolarne informazioni. Ma prima la popoleremo sempre tramite il linguaggio SQL nello specifico on il comando Insert.

 Iniziamo utilizzando il seguente codice per creare la nuova tabella

CREATE TABLE DIPENDENTI_PROVA
(
  CODICE_ID varchar(16),
  STIPENDIO INTEGER,
  MANSIONE VARCHAR(25)CHECK 
    (MANSIONE IN ('DIRETTORE','AMMINISTRAZIONE','SEGRETERIA','CONSULENTE','VENDITORE')),
  LOCAZIONE VARCHAR(25),
  PRIMARY KEY (CODICE_ID)
);

 Possiamo esaminare le notifiche da "Statistics" per comprendere cosa accadrà dopo aver eseguito la nostra serie di comandi.

 

 Ricordiamo che per simulare il risultato dei comandi inseriti si esegue tramite il tasto play l'Execute statement(s) o con il tasto "F4".

 

Per confermare in modo definitivo l'operazione clicchiamo su "Commit transaction" o tramite tasto "F5".

 

Tramite la scelta di "Rollback transaction" possiamo cancellare tutte le modifiche dei dati eseguite dall'inizio della transazione (o al punto di salvataggio),
non saranno eliminate le modifiche apportate alle variabili locali o di tabella
.

 

Tramite il tasto destro del mouse selezioniamo "Browse data". 

 

 Viaulizziamo in questo modo il contenuto della tabella tramite la query che seleziona tutti gli attributi della tabella.

Ora inseriamo i vari dati per popolare la tabella.

INSERT INTO DIPENDENTI_PROVA (CODICE_ID, STIPENDIO, MANSIONE, LOCAZIONE)
VALUES (
    '123456789', 
    '10000', 
    'DIRETTORE', 
    'UFFICIO'
);

 

 

 

 

INSERT INTO DIPENDENTI_PROVA (CODICE_ID, STIPENDIO, MANSIONE, LOCAZIONE)
VALUES (
    '1994789', 
    '10000', 
    'DIRETTORE', 
    'UFFICIO'
);


INSERT INTO DIPENDENTI_PROVA (CODICE_ID, STIPENDIO, MANSIONE, LOCAZIONE)
VALUES (
    '1234567', 
    '20000', 
    'DIRETTORE', 
    'UFFICIO'
);


INSERT INTO DIPENDENTI_PROVA (CODICE_ID, STIPENDIO, MANSIONE, LOCAZIONE)
VALUES (
    '023456789', 
    '100000', 
    'DIRETTORE', 
    'STRUTTURA'
);


INSERT INTO DIPENDENTI_PROVA (CODICE_ID, STIPENDIO, MANSIONE, LOCAZIONE)
VALUES (
    '123456700', 
    '1000', 
    'SEGRETERIA', 
    'UFFICIO'
);


INSERT INTO DIPENDENTI_PROVA (CODICE_ID, STIPENDIO, MANSIONE, LOCAZIONE)
VALUES (
    '003456789', 
    '10000', 
    'CONSULENTE', 
    'AREA-FINANZIARIA'
);


INSERT INTO DIPENDENTI_PROVA (CODICE_ID, STIPENDIO, MANSIONE, LOCAZIONE)
VALUES (
    '113456789', 
    '1500', 
    'VENDITORE', 
    'AREA-FINANZIARIA'
);


INSERT INTO DIPENDENTI_PROVA (CODICE_ID, STIPENDIO, MANSIONE, LOCAZIONE)
VALUES (
    '123418789', 
    '30000', 
    'AMMINISTRAZIONE', 
    'UFFICIO'
);


INSERT INTO DIPENDENTI_PROVA (CODICE_ID, STIPENDIO, MANSIONE, LOCAZIONE)
VALUES (
    '125456789', 
    '10000', 
    'AMMINISTRAZIONE', 
    'UFFICIO'
);


INSERT INTO DIPENDENTI_PROVA (CODICE_ID, STIPENDIO, MANSIONE, LOCAZIONE)
VALUES (
    '333456789', 
    '10000', 
    'DIRETTORE', 
    'UFFICIO'
);


INSERT INTO DIPENDENTI_PROVA (CODICE_ID, STIPENDIO, MANSIONE, LOCAZIONE)
VALUES (
    '1234567555', 
    '100020', 
    'DIRETTORE', 
    'UFFICIO'
);

INSERT INTO DIPENDENTI_PROVA (CODICE_ID, STIPENDIO, MANSIONE, LOCAZIONE)
VALUES (
    '123777789', 
    '110000', 
    'DIRETTORE', 
    'UFFICIO'
);


INSERT INTO DIPENDENTI_PROVA (CODICE_ID, STIPENDIO, MANSIONE, LOCAZIONE)
VALUES (
    '123456783', 
    '12000', 
    'VENDITORE', 
    'AREA-FINANZIARIA'
);


INSERT INTO DIPENDENTI_PROVA (CODICE_ID, STIPENDIO, MANSIONE, LOCAZIONE)
VALUES (
    '123556789', 
    '10000', 
    'CONSULENTE', 
    'AREA-FINANZIARIA'
);


INSERT INTO DIPENDENTI_PROVA (CODICE_ID, STIPENDIO, MANSIONE, LOCAZIONE)
VALUES (
    '123456589', 
    '100000', 
    'DIRETTORE', 
    'STRUTTURA'
);


INSERT INTO DIPENDENTI_PROVA (CODICE_ID, STIPENDIO, MANSIONE, LOCAZIONE)
VALUES (
    '133356789', 
    '20000', 
    'AMMINISTRAZIONE', 
    'UFFICIO'
);


INSERT INTO DIPENDENTI_PROVA (CODICE_ID, STIPENDIO, MANSIONE, LOCAZIONE)
VALUES (
    '123444789', 
    '40000', 
    'CONSULENTE', 
    'STRUTTURA'
);


INSERT INTO DIPENDENTI_PROVA (CODICE_ID, STIPENDIO, MANSIONE, LOCAZIONE)
VALUES (
    '12311119', 
    '10000', 
    'DIRETTORE', 
    'UFFICIO'
);

 

 Visualizziamo il risultato.

Per la tabella ANAGRAFICA_PROVA facciamo lo stesso discorso inserendo dati che poi ci consentiranno di eseguire le interrogazioni.

INSERT INTO ANAGRAFICA_PROVA (NOME,COGNOME,DATA_NASCITA,CF) VALUES ('LUIGI','SPECIAL','02-12-1975','1994789');
INSERT INTO ANAGRAFICA_PROVA (NOME,COGNOME,DATA_NASCITA,CF) VALUES ('GIGI','SPECIAL','02-12-1985','1234567');
INSERT INTO ANAGRAFICA_PROVA (NOME,COGNOME,DATA_NASCITA,CF) VALUES ('LUIGI','SPECIALE','02-01-1980','023456789');
INSERT INTO ANAGRAFICA_PROVA (NOME,COGNOME,DATA_NASCITA,CF) VALUES ('FABIO','SPECIAL','02-01-2000','123456700');
INSERT INTO ANAGRAFICA_PROVA (NOME,COGNOME,DATA_NASCITA,CF) VALUES ('CARMINE','SPECIAL','02-01-1990','003456789');
INSERT INTO ANAGRAFICA_PROVA (NOME,COGNOME,DATA_NASCITA,CF) VALUES ('CARMINE','SPECIALE','02-01-2000','113456789');
INSERT INTO ANAGRAFICA_PROVA (NOME,COGNOME,DATA_NASCITA,CF) VALUES ('GIANLUIGI','SPECIAL','02-01-2000','123418789');
INSERT INTO ANAGRAFICA_PROVA (NOME,COGNOME,DATA_NASCITA,CF) VALUES ('GIANLUIGI','SPECIALE','02-01-1999','125456789');
INSERT INTO ANAGRAFICA_PROVA (NOME,COGNOME,DATA_NASCITA,CF) VALUES ('RICCARDO','SPECIAL','02-01-1977','333456789');
INSERT INTO ANAGRAFICA_PROVA (NOME,COGNOME,DATA_NASCITA,CF) VALUES ('RICCARDO','SPECIALE','02-01-1999','1234567555');
INSERT INTO ANAGRAFICA_PROVA (NOME,COGNOME,DATA_NASCITA,CF) VALUES ('DANIELE','SPECIAL','02-01-1977','123777789');
INSERT INTO ANAGRAFICA_PROVA (NOME,COGNOME,DATA_NASCITA,CF) VALUES ('DANIELE','SPECIALE','02-01-1999','123456783');
INSERT INTO ANAGRAFICA_PROVA (NOME,COGNOME,DATA_NASCITA,CF) VALUES ('DAVIDE','DAVIDE','02-01-1977','123556789');
INSERT INTO ANAGRAFICA_PROVA (NOME,COGNOME,DATA_NASCITA,CF) VALUES ('CARLO','SPECIAL','02-01-1999','123456589');
INSERT INTO ANAGRAFICA_PROVA (NOME,COGNOME,DATA_NASCITA,CF) VALUES ('CARLO','SPECIALE','02-01-1999','133356789');
INSERT INTO ANAGRAFICA_PROVA (NOME,COGNOME,DATA_NASCITA,CF) VALUES ('ERNESTO','SPECIAL','02-01-1977','123444789');
INSERT INTO ANAGRAFICA_PROVA (NOME,COGNOME,DATA_NASCITA,CF) VALUES ('ERNESTO','SPECIALE','02-01-1999','12311119');

 

 Nel caso in cui non si riesce a ricordare qualche comando o si hanno dubbi sulla sequenza di costruzione dello stesso si può usare l'History.

 

 Selezionando le frecce in base alla direzione visualizzeremo i comandi utilizzati.

Ora  interroghiamo la tabella ANAGRAFICA_PROVA in base alla data di nascita.

SELECT r.NOME, r.COGNOME
FROM ANAGRAFICA_PROVA r
WHERE R.DATA_NASCITA> '01-02-2015'

 

 

 

SELECT r.NOME, r.COGNOME
FROM ANAGRAFICA_PROVA r
WHERE R.DATA_NASCITA> '01-02-1975'

 

 

Se si vuole eseguire un update vediamo in modo errato cosa può capitare e come ripristinare la situazione. Partendo dalla seguente query noi vogliamo aggiornare solamente la riga evidenziata dalla selezioen.

Eseguiamo il seguente codice.

UPDATE ANAGRAFICA_PROVA a
SET 
    a.NOME = 'UPDATE', 
    a.COGNOME = 'UPDATE'
WHERE A.NOME LIKE '%NON%';

 

Oppure stesso risultato errato otterremo eseguento i codici successivi.

 

Visualizziamo quanto accaduto.

Per ripristinare inmodo corretto i valori degli attributi delle tabelle eseguiamo il seguente codice.

UPDATE ANAGRAFICA_PROVA SET 
NOME = 'NON DISPONIBILE'
WHERE CF = '';
UPDATE ANAGRAFICA_PROVA SET 
NOME = 'FABIO'
WHERE CF = 'FRRFBA75T02R';
UPDATE ANAGRAFICA_PROVA SET 
NOME = 'PROVA'
WHERE CF = 'PROVA';
UPDATE ANAGRAFICA_PROVA SET 
NOME = 'GIACOMO'
WHERE CF = 'CFGIACOMO';
UPDATE ANAGRAFICA_PROVA SET 
NOME = 'GIACOMO'
WHERE CF = 'CFGIACOMO99';
UPDATE ANAGRAFICA_PROVA SET 
NOME = 'GIACOMO'
WHERE CF = 'CFGIACOMO9';
UPDATE ANAGRAFICA_PROVA SET 
NOME = 'NCOLA'
WHERE CF = 'CFNICOLA';
UPDATE ANAGRAFICA_PROVA SET 
NOME = 'LORENZO'
WHERE CF = 'CFGIACOMOLO';
UPDATE ANAGRAFICA_PROVA SET 
NOME = 'PROVA'
WHERE CF = 'CFGIACO';
UPDATE ANAGRAFICA_PROVA SET 
NOME = 'GIACOMO15'
WHERE CF = 'CFGIACOMO999';
UPDATE ANAGRAFICA_PROVA SET 
NOME = 'aGIACOMO15'
WHERE CF = 'aFGIACOMO999';
UPDATE ANAGRAFICA_PROVA SET 
NOME = 'aaIACOMO15'
WHERE CF = 'aaGIACOMO999';
UPDATE ANAGRAFICA_PROVA SET 
NOME = 'testnome'
WHERE CF = 'chisono';
UPDATE ANAGRAFICA_PROVA SET 
NOME = 'tesgtnome'
WHERE CF = 'chtisono';
UPDATE ANAGRAFICA_PROVA SET 
NOME = 'tesgtnomye'
WHERE CF = 'chtisonyo';
UPDATE ANAGRAFICA_PROVA SET 
NOME = 'LUIGI'
WHERE CF = '1994789';
UPDATE ANAGRAFICA_PROVA SET 
NOME = 'GIGI'
WHERE CF = '1234567';
UPDATE ANAGRAFICA_PROVA SET 
NOME = 'LUIGI'
WHERE CF = '023456789';
UPDATE ANAGRAFICA_PROVA SET 
NOME = 'FABIO'
WHERE CF = '123456700';
UPDATE ANAGRAFICA_PROVA SET 
NOME = 'CARMINE'
WHERE CF = '003456789';
UPDATE ANAGRAFICA_PROVA SET 
NOME = 'CARMINE'
WHERE CF = '113456789';
UPDATE ANAGRAFICA_PROVA SET 
NOME = 'GIANLUIGI'
WHERE CF = '123418789';
UPDATE ANAGRAFICA_PROVA SET 
NOME = 'GIANLUIGI'
WHERE CF = '125456789';
UPDATE ANAGRAFICA_PROVA SET 
NOME = 'RICCARDO'
WHERE CF = '333456789';
UPDATE ANAGRAFICA_PROVA SET 
NOME = 'RICCARDO'
WHERE CF = '1234567555';
UPDATE ANAGRAFICA_PROVA SET 
NOME = 'DANIELE'
WHERE CF = '123777789';
UPDATE ANAGRAFICA_PROVA SET 
NOME = 'DANIELE'
WHERE CF = '123456783';
UPDATE ANAGRAFICA_PROVA SET 
NOME = 'DAVIDE'
WHERE CF = '123556789';
UPDATE ANAGRAFICA_PROVA SET 
NOME = 'CARLO'
WHERE CF = '123456589';
UPDATE ANAGRAFICA_PROVA SET 
NOME = 'CARLO'
WHERE CF = '133356789';
UPDATE ANAGRAFICA_PROVA SET 
NOME = 'ERNESTO'
WHERE CF = '123444789';
UPDATE ANAGRAFICA_PROVA SET 
NOME = 'ERNESTO'
WHERE CF = '12311119';

Per il campo COGNOME.

UPDATE ANAGRAFICA_PROVA SET 
COGNOME = 'UPDATE'
WHERE CF = 'TEST';
UPDATE ANAGRAFICA_PROVA SET 
COGNOME = 'FERRARO'
WHERE CF = 'FRRFBA75T02R';
UPDATE ANAGRAFICA_PROVA SET 
COGNOME = 'PROVA'
WHERE CF = 'PROVA';
UPDATE ANAGRAFICA_PROVA SET 
COGNOME = 'COGNOME'
WHERE CF = 'CFGIACOMO';
UPDATE ANAGRAFICA_PROVA SET 
COGNOME = 'COGNOME'
WHERE CF = 'CFGIACOMO99';
UPDATE ANAGRAFICA_PROVA SET 
COGNOME = 'COGNOMEDIGIACOMO'
WHERE CF = 'CFGIACOMO9';
UPDATE ANAGRAFICA_PROVA SET 
COGNOME = 'NICOLA'
WHERE CF = 'CFNICOLA';
UPDATE ANAGRAFICA_PROVA SET 
COGNOME = 'COGNOME'
WHERE CF = 'CFGIACOMOLO';
UPDATE ANAGRAFICA_PROVA SET 
COGNOME = 'COGNOME'
WHERE CF = 'CFGIACO';
UPDATE ANAGRAFICA_PROVA SET 
COGNOME = 'COGNOME2'
WHERE CF = 'CFGIACOMO999';
UPDATE ANAGRAFICA_PROVA SET 
COGNOME = 'aCOGNOME2'
WHERE CF = 'aFGIACOMO999';
UPDATE ANAGRAFICA_PROVA SET 
COGNOME = 'aaCOGNOME2'
WHERE CF = 'aaGIACOMO999';
UPDATE ANAGRAFICA_PROVA SET 
COGNOME = 'testcognome'
WHERE CF = 'chisono';
UPDATE ANAGRAFICA_PROVA SET 
COGNOME = 'tegstcognome'
WHERE CF = 'chtisono';
UPDATE ANAGRAFICA_PROVA SET 
COGNOME = 'tegystcognome'
WHERE CF = 'chtisonyo';
UPDATE ANAGRAFICA_PROVA SET 
COGNOME = 'SPECIAL'
WHERE CF = '1994789';
UPDATE ANAGRAFICA_PROVA SET 
COGNOME = 'SPECIAL'
WHERE CF = '1234567';
UPDATE ANAGRAFICA_PROVA SET 
COGNOME = 'SPECIALE'
WHERE CF = '023456789';
UPDATE ANAGRAFICA_PROVA SET 
COGNOME = 'SPECIAL'
WHERE CF = '123456700';
UPDATE ANAGRAFICA_PROVA SET 
COGNOME = 'SPECIAL'
WHERE CF = '003456789';
UPDATE ANAGRAFICA_PROVA SET 
COGNOME = 'SPECIALE'
WHERE CF = '113456789';
UPDATE ANAGRAFICA_PROVA SET 
COGNOME = 'SPECIAL'
WHERE CF = '123418789';
UPDATE ANAGRAFICA_PROVA SET 
COGNOME = 'SPECIALE'
WHERE CF = '125456789';
UPDATE ANAGRAFICA_PROVA SET 
COGNOME = 'SPECIAL'
WHERE CF = '333456789';
UPDATE ANAGRAFICA_PROVA SET 
COGNOME = 'SPECIALE'
WHERE CF = '1234567555';
UPDATE ANAGRAFICA_PROVA SET 
COGNOME = 'SPECIAL'
WHERE CF = '123777789';
UPDATE ANAGRAFICA_PROVA SET 
COGNOME = 'SPECIALE'
WHERE CF = '123456783';
UPDATE ANAGRAFICA_PROVA SET 
COGNOME = 'DAVIDE'
WHERE CF = '123556789';
UPDATE ANAGRAFICA_PROVA SET 
COGNOME = 'SPECIAL'
WHERE CF = '123456589';
UPDATE ANAGRAFICA_PROVA SET 
COGNOME = 'SPECIALE'
WHERE CF = '133356789';
UPDATE ANAGRAFICA_PROVA SET 
COGNOME = 'SPECIAL'
WHERE CF = '123444789';
UPDATE ANAGRAFICA_PROVA SET 
COGNOME = 'SPECIALE'
WHERE CF = '12311119';

PEr ottimizzare i tempi e non sbagliare è ottimale usare la seguente procedura.

Selezionando con il tasto destro del mouse "Copy as UPDATE statements" possiamo tramite incolla usare i valori selezionati.

 Dopo aver eseguito otteniamo nuovamente.

Possiamo modificare a mano i valori di NOME e COGNOME della prima tupla in 'NON DISPONIBILE'.

Ora dalle tabelle ANAGRAFICA_PROVA e DIPENDENTI_PROVA utilizzando gli attributi in comune (vedi immaginsuccessiva) eseguiamo una query per collegarle ed estrepolare informazioni da ambedue le tabelle.

 l codice sorgente della query è il seguente.

SELECT TB1.NOME, TB1.COGNOME, TB1.DATA_NASCITA, TB1.CF, TB1.ETA, TB2.STIPENDIO, TB2.MANSIONE, TB2.LOCAZIONE
FROM ANAGRAFICA_PROVA TB1, DIPENDENTI_PROVA TB2
WHERE TB1.CF=TB2.CODICE_ID

Il risultato finale della query è il seguente.

 

 

TAGS: , ,

Su 360bitnews.it

360bitnews.it è un sito rivolto a tutti gli appassionati del mondo ICT, esperti e non, che amano questo mondo a 360 gradi.
Programmazione, Progettazione, Reti, Sicurezza, Arduino, RaspBerry e tanto altro: argomenti degli articoli e delle news di ogni giorno, sempre al passo con i tempi, cercando di raccogliere il maggior numero di consensi e riuscire a coinvolgere  un numero sempre maggiore di persone. Come ogni progetto che vuole evolversi, puntiamo all'eccellenza e quindi vogliamo che i migliori professionisti collaborino con noi.

Contattaci

Sede

Ufficio Principale
Via Walter Tobagi 19 - 87100 CS
Email Consulenze
assistenza@answersandsolutions.it
webmaster@ilportaleinformatico.it
info@360consultingcs.it

Ultime news

Per i tuoi annunci

Aumenta la visibilità

La tua azienda è del setrore ICT? Vuoi valorizzare ed esporre un tuo servizio o un tuo prodotto? Scrivici.

Flessibilità

Hai bisogno di realizzare soluzioni ICT su misura per la tua azienda? Scrivici.

Collabora con noi

Vuoi scrivere del mondo ICT sul nostro sito? Scrivici ed invia la tua candidatura.

Video or Banner Ads

Vuoi sponsorizzare la nostra iniziativa? Scrivici.