sql >> Database >  >> RDS >> Mysql

MySQL:Snel overzicht van de soorten joins

Op basis van uw opmerking kunt u de eenvoudige definities van elk het beste vinden op W3Schools De eerste regel van elk type geeft een korte uitleg van het type join

  • DOEN:rijen retourneren wanneer er ten minste één overeenkomst is in beide tabellen
  • LEFT JOIN:retourneer alle rijen uit de linkertabel, zelfs als er geen overeenkomsten zijn in de rechtertabel
  • RIGHT JOIN:retourneer alle rijen uit de rechtertabel, zelfs als er geen overeenkomsten zijn in de linkertabel
  • FULL JOIN:rijen retourneren wanneer er een overeenkomst is in een van de tabellen

EINDE BEWERKEN

In een notendop, het door komma's gescheiden voorbeeld dat u gaf van

SELECT * FROM a, b WHERE b.id = a.beeId AND ...

is het selecteren van elk record uit tabellen a en b met de komma's die de tabellen scheiden, dit kan ook worden gebruikt in kolommen zoals

SELECT a.beeName,b.* FROM a, b WHERE b.id = a.beeId AND ...

Het krijgt dan de geïnstrueerde informatie in de rij waar de b.id-kolom en a.beeId-kolom een ​​overeenkomst hebben in uw voorbeeld. Dus in uw voorbeeld haalt het alle informatie uit tabellen a en b waar de b.id gelijk is aan a. beeId.In mijn voorbeeld haalt het alle informatie uit de b-tabel en alleen informatie uit de a.beeName-kolom wanneer de b.id gelijk is aan de a.beeId. Merk op dat er ook een AND-clausule is, dit zal helpen om te verfijnen jouw resultaten.

Voor enkele eenvoudige tutorials en uitleg over mySQL-joins en left joins kun je de mySQL-tutorials van Tizag bekijken. Je kunt ook de Keith J. Brown's website bekijken voor meer informatie over joins is dat ook best goed.

Ik hoop dat dit je helpt



  1. Converteer een Unix-tijdstempel naar een datumwaarde in Oracle

  2. Een tijdelijke oplossing voor DATEDIFF() SET DATEFIRST negeren in SQL Server (T-SQL-voorbeeld)

  3. mysql - hoeveel kolommen is te veel?

  4. FOUT:functies in index-expressie moeten worden gemarkeerd als IMMUTABLE in Postgres