SQL o Structured Query Language è un linguaggio; linguaggio che comunica con un database relazionale fornendo così modalità di manipolazione e creazione di database. MySQL e SQL Server di Microsoft sono entrambi sistemi di gestione di database relazionali che utilizzano SQL come linguaggio di database relazionale standard.

PL / SQL è un dialetto di SQL che aggiunge funzionalità procedurali dei linguaggi di programmazione in SQL. È stato sviluppato da Oracle Corporation nei primi anni '90 per migliorare le capacità di SQL.

Di seguito sono riportati vari comandi DDL o Data Definition Language in SQL:

  • CREATE − crea una nuova tabella, una vista di una tabella o un altro oggetto nel database.

  • ALTER − modifica un oggetto database esistente, come una tabella.

  • DROP − cancella un'intera tabella, una vista di una tabella o un altro oggetto nel database.

Di seguito sono riportati vari comandi DML o Data Manipulation Language in SQL:

  • SELECT − recupera determinati record da una o più tabelle.

  • INSERT − crea un record.

  • UPDATE − modifica i record.

  • DELETE − cancella i record.

Di seguito sono riportati vari comandi DCL o Data Control Language in SQL:

  • GRANT − dà un privilegio all'utente.

  • REVOKE − riprende i privilegi concessi dall'utente.

Sì. È possibile utilizzare un alias di colonna nella clausola ORDER BY.

Un valore NULL non è uguale a zero o uno spazio vuoto. Un valore NULL è un valore che è "non disponibile, non assegnato, sconosciuto o non applicabile". Mentre lo zero è un numero e lo spazio vuoto è un carattere.

Vero.

Il risultato di una query visualizza tutte le righe comprese le righe duplicate. Per eliminare le righe duplicate nel risultato, la parola chiave DISTINCT viene utilizzata nella clausola SELECT.

L'operatore BETWEEN visualizza le righe in base a un intervallo di valori. L'operatore di condizione IN verifica i valori contenuti in uno specifico insieme di valori.

In questi casi, l'operatore di condizione LIKE viene utilizzato per selezionare le righe che corrispondono a un modello di carattere. Questa è anche chiamata ricerca "jolly".

L'ordinamento predefinito è crescente. Può essere modificato utilizzando la parola chiave DESC, dopo il nome della colonna nella clausola ORDER BY.

Le funzioni SQL hanno i seguenti usi:

  • Esecuzione di calcoli sui dati

  • Modifica di singoli elementi di dati

  • Manipolazione dell'output

  • Formattazione di date e numeri

  • Conversione dei tipi di dati

INFERIORE, SUPERIORE, INITCAP

La funzione MOD restituisce il resto in un'operazione di divisione.

La funzione NVL converte un valore NULL in un valore effettivo.

La funzione NVL (exp1, exp2) converte l'espressione di origine (o valore) exp1 nell'espressione (o valore) di destinazione exp2, se exp1 contiene NULL. Il valore restituito ha lo stesso tipo di dati di quello di exp1.

La funzione NVL2 (exp1, exp2, exp3) controlla la prima espressione exp1, se non è nulla viene restituita la seconda espressione exp2. Se la prima espressione exp1 è nulla, viene restituita la terza espressione exp3.

La funzione NULLIF confronta due espressioni. Se sono uguali, la funzione restituisce null. Se non sono uguali, viene restituita la prima espressione.

La funzione COALESCE ha l'espressione COALESCE (exp1, exp2,…. Expn)

Restituisce la prima espressione non nulla fornita nell'elenco dei parametri.

Esistono due modi per implementare l'elaborazione condizionale o la logica IF-THEN-ELSE in un'istruzione SQL.

  • Utilizzo dell'espressione CASE

  • Utilizzo della funzione DECODE

Il risultato sarebbe il prodotto cartesiano di due tabelle con 20 x 10 = 200 righe.

Il cross join produce il prodotto incrociato o prodotto cartesiano di due tabelle. Il join naturale si basa su tutte le colonne con lo stesso nome e tipi di dati in entrambe le tabelle.

Le funzioni di gruppo in SQL funzionano su set di righe e restituiscono un risultato per gruppo. Esempi di funzioni di gruppo sono AVG, COUNT, MAX, MIN, STDDEV, SUM, VARIANCE.

Per impostazione predefinita, le funzioni di gruppo considerano tutti i valori inclusi i valori duplicati.

Vero.

Vero.

Falso. COUNT (*) restituisce il numero di righe in una tabella.

Non ha una clausola GROUP BY. Il subject_code dovrebbe essere nella clausola GROUP BY.

SELECT subject_code, count(name)
   FROM students
   GROUP BY subject_code;

La clausola WHERE non può essere utilizzata per limitare i gruppi. La clausola HAVING dovrebbe essere utilizzata.

SELECT subject_code, AVG (marks)
   FROM students
   HAVING AVG(marks) > 75
   GROUP BY subject_code;

Falso. Le funzioni di gruppo possono essere annidate fino a una profondità di due.

Una sottoquery è un'istruzione SELECT incorporata in una clausola di un'altra istruzione SELECT. Viene utilizzato quando la query interna o la sottoquery restituisce un valore utilizzato dalla query esterna. È molto utile per selezionare alcune righe in una tabella con una condizione che dipende da alcuni dati contenuti nella stessa tabella.

Falso. Una sottoquery a riga singola restituisce solo una riga dall'istruzione SELECT interna.

Vero.

Vero.

Qui un operatore di riga singola = viene utilizzato con una sottoquery di più righe.

IN QUALSIASI, TUTTI.

Le istruzioni DML vengono utilizzate per aggiungere nuove righe a una tabella, aggiornare o modificare i dati nelle righe esistenti o rimuovere righe esistenti da una tabella.

L'istruzione INSERT INTO.

Vero.

I valori nulli possono essere inseriti in una tabella in uno dei seguenti modi:

  • Implicitamente omettendo la colonna dall'elenco delle colonne.
  • In modo esplicito specificando la parola chiave NULL nella clausola VALUES.

Falso. L'istruzione INSERT consente di aggiungere righe a una tabella copiando righe da una tabella esistente.

L'istruzione INSERT può essere utilizzata per aggiungere righe a una tabella copiandole da un'altra tabella. In questo caso, viene utilizzata una sottoquery al posto della clausola VALUES.

Tutte le righe della tabella vengono modificate.

Sì. L'utilizzo di sottoquery nelle istruzioni UPDATE consente di aggiornare le righe di una tabella in base ai valori di un'altra tabella.

Falso. L'istruzione DELETE viene utilizzata per rimuovere le righe esistenti da una tabella.

Tutte le righe della tabella vengono eliminate.

Sì, le sottoquery possono essere utilizzate per rimuovere righe da una tabella in base ai valori di un'altra tabella.

Vero.

Vero.

L'istruzione MERGE consente l'aggiornamento condizionale o l'inserimento di dati in una tabella di database. Esegue un UPDATE se le righe esistono o un INSERT se la riga non esiste.

Vero.

VARCHAR2 rappresenta i dati dei caratteri di lunghezza variabile, mentre CHAR rappresenta i dati dei caratteri di lunghezza fissa.

Falso. Non è possibile eseguire il rollback di un'istruzione DROP TABLE.

L'istruzione ALTER TABLE.

Una vista è un'istantanea logica basata su una tabella o un'altra vista. È usato per:

  • Limitare l'accesso ai dati;
  • Rendere semplici query complesse;
  • Garantire l'indipendenza dei dati;
  • Fornire viste diverse degli stessi dati.

Vero.