Quale delle seguenti query SQL recupera correttamente le righe in cui il nome è “John”?
In SQL, il singolo segno di uguale (=) viene utilizzato per i controlli di uguaglianza nella clausola WHERE, non == o ===, che sono operatori di JavaScript.
La sintassi corretta è SELECT * FROM users WHERE name = 'John';.
Un LEFT JOIN restituisce tutte le righe della tabella di sinistra e le righe corrispondenti della tabella di destra, con NULL per le righe non corrispondenti nella tabella di destra.
Un INNER JOIN restituisce le righe in cui la condizione di join corrisponde a righe di entrambe le tabelle. Le righe non corrispondenti non sono incluse nel set dei risultati.
Una sottoquery correlata fa riferimento a colonne della query esterna. La sua dipendenza logica dalla riga esterna non impone una specifica esecuzione fisica: l’ottimizzatore può trasformare il piano ed evitare una valutazione separata per ogni riga.
Qual è lo scopo della clausola WITH (Common Table Expression) in SQL?
La clausola WITH, o Common Table Expression (CTE), viene utilizzata per definire un insieme di risultati temporaneo che può essere referenziato all’interno della query principale. In PostgreSQL, WITH può essere allegato a istruzioni come SELECT, INSERT, UPDATE, DELETE o MERGE.
Ciò può aiutare a migliorare la leggibilità e la manutenibilità di query complesse.
L’operatore IN filtra le righe che corrispondono a un valore dell’elenco, spesso come alternativa a più condizioni OR. Non elimina i duplicati e non richiede un indice. Un indice B-tree adatto può aiutare una query selettiva, ma non deve essere UNIQUE: il planner può scegliere una scansione sequenziale in base a costi e dati.
La clausola GROUP BY raggruppa le righe che hanno gli stessi valori nelle colonne specificate, consentendo di applicare funzioni di aggregazione a ciascun gruppo.