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 viene valutata una volta per ogni riga della query esterna. Fa riferimento alle colonne della query esterna, rendendola dipendente da 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 per far corrispondere qualsiasi valore in un elenco specificato, spesso come alternativa a più condizioni OR.
Anche se potrebbe restituire “righe uniche” (e spesso lo fa), non è necessariamente lo scopo principale.
L’indicizzazione non è richiesta qui, anche se è certamente una buona pratica usare IN su una colonna con un indice, preferibilmente un indice UNIQUE, poiché può migliorare le prestazioni.
La clausola GROUP BY raggruppa le righe che hanno gli stessi valori nelle colonne specificate, consentendo di applicare funzioni di aggregazione a ciascun gruppo.