What is the difference between `INNER JOIN` and `SEMI JOIN` in SQL?

Advanced SQL Developer Medium

Advanced SQL Developer — Medium

What is the difference between `INNER JOIN` and `SEMI JOIN` in SQL?

Key points

  • INNER JOIN can produce duplicates, SEMI JOIN does not
  • SEMI JOIN only returns rows from the left table
  • SEMI JOIN is typically implemented with EXISTS or IN
  • INNER JOIN requires equality condition, SEMI JOIN supports any boolean

Ready to go further?

Related questions