..
Kas zina, kādas zināšanas par SQL JOIN. Mūsu rokasgrāmatas un citu rakstus mēs paskaidrots, kā JOIN un kā jūs varat izveidot attiecības starp dažādām tabulām datu bāzē.
Visbiežāk prasība ir izpildīta ar instrumenta JOIN, var atrast starp divām tabulām, un tādā gadījumā glābj INNER JOIN klauzulu, kas precīzi atrod un atgriež laukus, kas apmierina sarakstes centās divām vai vairākām iesaistītajām tabulām in JOIN.
Daudz mazāk intuitīvi pretēji ir nepieciešams, lai noteiktu jomas, kas nav spēles laikā JOIN.
Apskatīsim piemēru.
Pieņemsim, ka vēlaties, lai pārvaldītu datu bāzi e-komercijas sastāv tikai no divām tabulām:
Lai izpildītu pirmo nosacījumu, protams, ir pavisam vienkārša:
SELECT CUSTOMER.FIRST, CUSTOMER.LAST No klientiem INNER JOIN Pasūtījumi ON = clienti.id ordini.id_cliente ORDER BY ASC CUSTOMER.LASTun līdz šim nekādu problēmu.
Bet kā mēs varam darīt, lai mainītu rezultātu?
Nu ...
Pirmkārt, neizmanto INNER JOIN, bet LEFT JOIN, lai atrastu spēles pilnībā, bet ne daļēju, tomēr gadījumā, ja rezultāti no kreisās tabulas tiek atgrieztas anyway.
Bez šīs mēs meklēsim (izmantojot WHERE) reģistri nav (ti, nevis atrast ziņojumā), tad noteikti kā NULL (jo SQL NULL ir definēta kā sava veida "īpašā vērtība", kas identificē bez vērtības ..)
Paskatīsimies kodu:
SELECT CUSTOMER.FIRST, CUSTOMER.LAST No klientiem LEFT JOIN Pasūtījumi ON = clienti.id ordini.id_cliente KUR IS NULL ordini.id_cliente ORDER BY ASC CUSTOMER.LASTRezultāts ir, faktiski, nosaukumu saraksts mūsu klientiem, kas nekad nav nopircis neko.
| |
MS Access (Advanced)
Uzziniet, kā izveidot un pārvaldīt datubāzes ātri un viegli. Sākot ar 29 €. |
| |
MySQL (Kurss)
Vadība ir atvērtā koda datu bāzi. Sākot no € 39. |
| |
SQL un datu bāzes (Course)
Izveidot un pārvaldīt relāciju datu bāzēm. Sākot no € 39. |