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

MySQL:Hurtig opdeling af typer joinforbindelser

Baseret på din kommentar findes enkle definitioner af hver enkelt på W3Schools Den første linje af hver type giver en kort forklaring af jointypen

  • JOIN:Returner rækker, når der er mindst én match i begge tabeller
  • LEFT JOIN:Returner alle rækker fra den venstre tabel, selvom der ikke er nogen match i den højre tabel
  • HØJRE JOIN:Returner alle rækker fra den højre tabel, selvom der ikke er nogen match i den venstre tabel
  • FULD JOIN:Returner rækker, når der er et match i en af ​​tabellerne

AFSLUT REDIGER

I en nøddeskal, det kommaseparerede eksempel, du gav af

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

vælger hver post fra tabel a og b med kommaer, der adskiller tabellerne, kan dette også bruges i kolonner som

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

Den får så den instruerede information i rækken, hvor b.id-kolonnen og a.beeId-kolonnen matcher i dit eksempel. Så i dit eksempel vil den få al information fra tabellerne a og b, hvor b.id er lig med a. beeId.I mit eksempel vil den få al information fra b-tabellen og kun information fra a.beeName-kolonnen, når b.id er lig med a.beeId. Bemærk, at der også er en AND-klausul, dette vil hjælpe med at forfine dine resultater.

For nogle enkle tutorials og forklaringer om mySQL joins og left joins, kig på Tizags mySQL tutorials. Du kan også tjekke Keith J. Browns hjemmeside for mere information om joins er det også ret godt.

Jeg håber, at dette hjælper dig



  1. SQL INSERT INTO-sætning

  2. Rekonstruer Standby DB

  3. pak postgresql-array ud i rækker

  4. Sådan konverteres til store bogstaver i MariaDB