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

Hvad er varigheden af ​​referencer og joinforbindelser i MySQL?

En JOIN er en abstrakt metode (dvs. det er ikke noget der fysisk findes i databasen), som kun forekommer under den pågældende forespørgsel (ingen ordspil ). JOIN bruges i forespørgsler, der spænder over flere tabeller, der har referencer til hinanden. *Det er ikke nødvendigt at have referencer for at et JOIN kan virke. Hvad JOIN gør, er simpelthen at forbinde målrettede tabeller, hvilket giver dig et bredere datasæt at vælge værdier fra.

Almindelige typer samlinger er INNER JOIN, OUTTER JOIN, LEFT JOIN, RIGHT JOIN og CROSS JOIN. Den, der bruges i dit tidligere spørgsmål var et CROSS JOIN, selvom selve søgeordet blev udeladt. Det vil sige:SELECT A.name, B.name FROM table1 A, table2 B --en implicit krydsforbindelse. SELECT A.country, B.country FROM iteration1 A CROSS JOIN iteration2 B er eksplicit. Det er bare en smagssag.

Generelt skaber joinforbindelser store datasæt, og du skal finde dine forespørgsler (ved hjælp af WHERE eller lignende) for at udtrække de data, du leder efter.



  1. Med henvisning til et udvalgt aggregeret kolonnealias i have-sætningen i Postgres

  2. ODP.NET Oracle.ManagedDataAcess tilfældige ORA-12570-fejl

  3. MySQL helvede... kan ikke oprette forbindelse til databasen /tmp/mysql.sock

  4. Hvordan sammenligner jeg input til mysql-data med php/sql?