SUBQUERY Chi ha un salario maggiore di quello di Abel? Occorre scomporre la query in due sotto problemi: MAIN : quali impiegati hanno un salario maggiore.

Slides:



Advertisements
Presentazioni simili
Simple Past A cura di Mara Cruciani.
Advertisements

Microsoft SQL Server 2008 Utilizzo. Creazione DataBase CREATE DATABASE CREATE DATABASE Cinema.
SQL (Standard query language) Istruzioni per la creazione di una tabella: Create table ( tipo, (, [vincoli]) Primary key ( ) CHIVE PRIMARIA Foreign key(
WSDL (Web Services Description Language) Laurea Magistrale in Informatica Reti 2 (2006/07) dott. Federico Paoloni
Capitolo 2 Nozioni fondamentali su Java Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill.
Capitolo 5 Decisioni Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
JPA Overview della tecnologia. Java Persistence Architecture Definita nella JSR-220 EJB 3.0 ( Tentativo di unificare EJB2.1 con.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
SQL Structured Query Language Comandi base di DML Rosalba Giugno Rosalba Giugno
4-1 Routing Gerarchico Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights Reserved)
Un DataBase Management System (DBMS) relazionale client/server.
MySQL Esercitazioni. Ripasso Connessione a MySQL. Creazione delle basi di dati e delle tablelle. Inserimento dei dati. Interrogazioni.
Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group.
SQL: Lezione 2 Esercitazione per il corso Basi di Dati Gabriel Kuper Nataliya Rassadko
Nataliya Rassadko SQL: Lezione 5 Nataliya Rassadko
Esercitazione per il corso “Basi di Dati”
SQL1 Structured Query Language Data Definition Language Data Manipulation Language Evoluzione Sequel IBM (1974) Standardizzazione ANSI/ISO: SQL-89, SQL-
2000 Prentice Hall, Inc. All rights reserved. 1 Capitolo 6: Classi e astrazione dati 1.Introduzione 2.Definizione delle strutture 3.Accedere ai membri.
Sottoprogrammi e Unità di Compilazione Nicola Fanizzi Laboratorio - Corso di Programmazione (B) C.d.L. in Informatica DIB - Università degli Studi di Bari.
Esercitazione.
Duplicati Lalgebra relazionale non ammette duplicati, SQL li ammette. Quindi select Città from Persona where Cognome= Rossi estrae una lista di città in.
Sequence. CREARE UNA SEQUENCE CREATE SEQUENCE nome [INCREMENT BY n] [START WITH n] [MAXVALUE n | NOMAXVALUE] [MINVALUE n | NOMINVALUE] [CYCLE | NOCYCLE]
Gestione dati DML Statement. DML – Data Manipultion Language Unoperazione DML viene eseguita quando: aggiungendo nuove righe ad una tabella modificando.
SELECT STATEMENT Clausola WHERE permette di limitare il numero di record da estrarre SELECT */ [DISTINCT] colonna/ espressione [alias],… FROM table [WHERE.
Viste. Cosè una vista? è possibile creare un subset logico di dati o una combinazione di dati una vista è una tabella logica basata su una tabella o su.
PRODOTTO CARTESIANO Otteniamo un prodotto cartesiano quando: viene omessa la condizione di join una condizione di join non è valida tutte le righe della.
FUNZIONI DI GRUPPO Le funzioni di gruppo operano su un set di record restituendo un risultato per il gruppo. AVG ([DISTINCT|ALL] n) media, ignora i valori.
Creazione e manipolazione tabelle. TABELLE una tabella può essere creata in qualsiasi momento,anche quando gli utenti stanno usando il database la struttura.
Constraints.
SQL: Structured Query Language
Ricerca di una chiave: Search(x, k) if x == nil or k == x.key return x
22 maggio 2002 Avvisi: Ultima lezione: mercoledì 29 maggio II Esonero: mercoledì 5 giugno, ore 10:00.
9X Freedom Opportunità One World One Team For Your Abundance !!
Un esempio: Registrazione e lettura di dati in un file
Microsoft Access Maschere.
Fondamenti di Informatica Corsi di Laurea in Ingegneria Gestionale Canale AL ESERCITAZIONE 4 ARGOMENTI: STRINGHE DI CARATTERI.
JavaScript Lezione 5 Tipizzazione ed operazioni tra tipi diversi Istruzioni di input.
Filtered Index and Statistics Filtered Indexes Sergio Govoni
Uso delle basi di dati Mauro Mezzini Dipartimento di Scienze della Formazione.
Prenotazioni on line sul sito della Facoltà di Medicina e Chirurgia Modalità e procedure per effettuare le prenotazioni on line.
DA NATIVI DIGITALI A INTERNAUTI CONSAPEVOLI
Creare grafici con un foglio di calcolo Copyright© owned by Ubaldo Pernigo, please contact: Tutti i contenuti, ove non diversamente.
Analisi del video: Come può essere così difficile? Dopo aver visto il documentario, sul sito
Modulo 1 bis Menù Incolla Esercitazione Un computer è quasi umano, a parte il fatto che non attribuisce i propri errori a un altro computer. (Anonimo)
Moduli o Form I Moduli permettono all'utente di immettere informazioni...
Attribution-NonCommercial-ShareAlike Le novità
Attribution-NonCommercial-ShareAlike Le novità
Calibrating (Partial Equilibrium) Mathematical Programming Spatial Models Open questions … (filippo arfini) III Workshop PUE&PIEC - Treia (Mc), 3-4 febbraio.
24 aprile 2002 Avvisi: Risultati 1 o Esonero: (entro) lunedi 27 disponibili nella pag. WEB, ma anche esposti nella bacheca fuori dal corridoio 2 o dente,
Personalizzazione e porting delle procedure esterne connesse ad Aleph Il caricamento degli utenti della circolazione da files esterni Modifiche introdotte.
1 Simulated multiple inheritance Sandro Pedrazzini Approfondimento Simulated multiple inheritance in Java.
Introduzione al linguaggio C. Cos’e’ il C? Il C e’ un linguaggio ad alto livello Un compilatore C prende in input un file contenente codice sorgente C.
1 Basi di dati (Sistemi Informativi) Scuola di Dottorato in Scienze Veterinarie per la Salute Animale e la Sicurezza Alimentare a.a Ing. Mauro.
Il linguaggio MDX Il linguaggio MDX (MultiDimensional eXpression) è usato per recuperare e manipolare dati multidimensionali in SQL Server Analysis Services,
SEFOC – SETTORE FORMAZIONE CONTINUA DEL PERSONALE CORSO MYSQL AVANZATO ROBERTO PENNOLINO – CARMELO MASSIMO PRIOLO PALERMO – 07 | 06 | 2011.
CREAZIONE UTENTE SU DATATOP. CREAZIONE UTENTE Andate su //datatop.di.unipi.it/webdb Login come utente: webdb password: ****** Administer -> User Manager.
SQL Developer Lanciare sqldeveloper (alias sul desktop) / c:\Oracle\sqldeveloper Associare tutti i tipi di file, se volete Tasto destro sulla spina “connection”
Saluti ed espressioni Greetings in Italian.
Dynamic SQL.
JDBC Java DataBase Connectivity SISTEMI ITIS B. CASTELLI Anno Scolastico
Basi di dati I Prof.ssa Rosalba Giugno Prof. Alfredo Pulvirenti SQL :Structured Query Language: SELECT (IV) SQL (Slide tratte in parte da da Atzeni, Ceri,
Raggruppamento in SQL Esempio di raggruppamento
Interazione col DB Per interagire con una base dati da una pagina PHP occorre procedere come segue: Eseguire la connessione al DBMS MySQL in ascolto;
Approfondimenti SQL.
I/O redirection AND PIPES
rielaborato da Atzeni-etal., Basi di dati, Capitolo 4
Interrogazione di una base di dati relazionale
CREAZIONE UTENTE SU ORACLE1
Tutorato Elementi di Informatica 2013
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Transcript della presentazione:

SUBQUERY Chi ha un salario maggiore di quello di Abel? Occorre scomporre la query in due sotto problemi: MAIN : quali impiegati hanno un salario maggiore di quello di Abel? SUBQUERY : qual è il salario di Abel? Usare le subquery significa elaborare due query contemporaneamente e usare il risultato della prima come valore di ricerca per la seconda

SINTASSI SELECT select_list FROM tabella WHERE espr operatore (SELECT select list FROM tabella); la subquery viene eseguita prima della main query il risultato della subquery viene usato per eseguire la main query è utile, ad esempio, per selezionare righe da una tabella e le condizioni dipendono dalla tabella stessa

SINTASSI è possibile usare subquery in - WHERE - HAVING - FROM nella sintassi loperatore può essere,>=,<> oppure operatori su righe multiple come IN

USO DI UNA SUBQUERY SELECT last_name FROM employees WHERE salary > (SELECT salary FROM employees WHERE last_name= Abel); mettere la subquery tra parentesi mettere la subquery ad destra delloperatore INNER QUERY OUTER QUERY

TIPI DI SUBQUERY Single-row subquery Multiple-row subquery Main subquery Main subquery ST_CLERK SA_MAN

SINGLE-ROW SUBQUERY Restituiscono un solo valore si possono utilizzare gli operatori su singola riga OperatoreSignificato =uguale >maggiore di >=maggiore o uguale di <minore a <=minore ugale a <>diverso

SINGLE-ROW SUBQUERY Esempio SELECT last_name, job_id FROM employees WHERE job_id = (SELECT job_id FROM employees WHERE job_id = 141);

SINGLE-ROW SUBQUERY Esempio SELECT last_name, job_id,salary FROM employees WHERE job_id = (SELECT job_id FROM employees WHERE job_id = 141) AND salary > (SELECT salary FROM employees WHERE employee_id = 143); ST_CLERK 2600

USARE FUNZIONI DI GRUPPO NELLE SUBQUERY È possibile usare funzioni di gruppo nella subquery che restituiscono un solo valore SELECT last_name, job_id,salary FROM employees WHERE salary > (SELECT MIN(salary) FROM employees); 2500

SINGLE-ROW SUBQUERY Oracle server esegue prima la subquery Oracle server restituisce risultati nella clausola HAVING della main query SELECT department_id, MIN(salary) FROM employees GROUP BY department_id HAVING MIN(salary) > (SELECT MIN(salary) FROM employees WHERE department_id = 50);

SINGLE-ROW SUBQUERY Qual è lerrore? SELECT employee_id, last_name FROM employees WHERE salary = (SELECT MIN(salary) FROM employees GROUP BY department_id );

SINGLE-ROW SUBQUERY E se la subquery non restituisce risultati? No rows selected Non ci sono impiegati di nome Haas. Louter query prende in input il risultato della subquery che è null e lo usa nella clausola WHERE. SELECT last_name, job_id FROM employees WHERE job_id = (SELECT job_id FROM employees WHERE last_name = Haas);

MULTIPLE-ROW SUBQUERY restituisce più di una riga usa gli operatori multipli OperatoreDescrizione IN Uguale ad ogni membro della lista ANY Compara i valori della main query con ogni valore restituito dalla subquery ALL Compara i valori della main query con tutti i valori restituiti dalla subquery

MULTIPLE-ROW SUBQUERY La query visualizza gli impiegati che non sono programmatori (IT_PROG) e il cui salario è minori di quello di ogni programmatore. SELECT employee_id, last_name, job_id FROM employees WHERE salary < ANY (SELECT salary FROM employees WHERE job_id = IT_PROG) AND job_id <> IT_PROG;

MULTIPLE-ROW SUBQUERY La query visualizza gli impiegati il cui salario è minore del salario di tutti gli impiegati con job IT_PROG e che non sono IT_PROG IN, ANY e ALL possono essere usate con loperatore NOT SELECT employee_id, last_name, job_id FROM employees WHERE salary < ALL (SELECT salary FROM employees WHERE job_id = IT_PROG) AND job_id <> IT_PROG;

MULTIPLE-ROW SUBQUERY Se uno dei valori restituiti dalla subquery è nullo, la query restituisce null. SELECT emp.last_name FROM employees emp WHERE emp.employee_id NOT IN (SELECT mgr.manager_id FROM employees mgr);