Come restituire le righe che hanno valori corrispondenti in entrambe le tabelle in SQL?


Per restituire le righe che hanno valori corrispondenti in entrambe le tabelle in SQL, è possibile utilizzare la clausola JOIN. Ci sono diversi tipi di JOIN, ma il più comune è l'INNER JOIN, che restituisce solo le righe che hanno corrispondenze in entrambe le tabelle.

Ecco un esempio di INNER JOIN:

SELECT *
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;

In questo esempio, "table1" e "table2" sono i nomi delle tabelle, mentre "column_name" è il nome della colonna che si desidera utilizzare per confrontare i valori. La clausola ON specifica la condizione di corrispondenza tra le due tabelle.

Un altro modo per ottenere lo stesso risultato è utilizzare la sintassi EXISTS. Ecco un esempio:

SELECT *
FROM table1
WHERE EXISTS (
  SELECT *
  FROM table2
  WHERE table1.column_name = table2.column_name
);

In questo esempio, la subquery SELECT viene eseguita per ogni riga nella tabella "table1". Se la subquery restituisce almeno una riga, la riga corrispondente nella tabella "table1" viene restituita come risultato della query principale.



About the author

William Pham is the Admin and primary author of Howto-Code.com. With over 10 years of experience in programming. William Pham is fluent in several programming languages, including Python, PHP, JavaScript, Java, C++.