sql >> Database teknologi >  >> RDS >> Mysql

Skær i MySQL

Du kan bruge en indre joinforbindelse til at filtrere efter rækker, der har en matchende række i en anden tabel:

SELECT DISTINCT records.id 
FROM records
INNER JOIN data d1 on d1.id = records.firstname AND data.value = "john"
INNER JOIN data d2 on d2.id = records.lastname AND data.value = "smith"

Et af mange andre alternativer er en in klausul:

SELECT DISTINCT records.id 
FROM records
WHERE records.firstname IN (
    select id from data where value = 'john'
) AND records.lastname IN (
    select id from data where value = 'smith'
)


  1. JDBC Oracle - Hent forklaringsplan for forespørgsel

  2. Postgres - Transponer rækker til kolonner

  3. Let til Oracle

  4. Sådan slettes en fremmednøglebegrænsning i SQL