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

MySQL kartesisk produkt mellem to SELECT-sætninger

Hvis du angiver dine tabeller uden JOIN ON klausul eller equalities/conditionins i WHERE klausul får du det katesiske produkt, du leder efter.

SELECT table1.field1, table2.field2
FROM table1, table2

vil give dig, hvad du beder om. Viser det mere eksplicit...

SELECT * FROM table1;
+--------+
| field1 |
+--------+
|      1 |
|      2 |
+--------+

SELECT * FROM table2;
+--------+
| field2 |
+--------+
|      3 |
|      4 |
+--------+

SELECT table1.field1, table2.field2 FROM table1, table2;
+--------+--------+
| field1 | field2 |
+--------+--------+
|      1 |      3 |
|      2 |      3 |
|      1 |      4 |
|      2 |      4 |
+--------+--------+


  1. MySQL Error 1170 (42000):BLOB/TEXT-kolonne brugt i nøglespecifikation uden en nøglelængde

  2. Sådan opretter du udenlandsk nøglebegrænsning med ON SLET CASCADE i SQL Server - SQL Server / TSQL vejledning del 80

  3. Beregn antallet af samtidige hændelser i SQL

  4. MySQL får første ikke-nul værdi efter gruppe af