So verwenden Sie in SQL ein Basic-Mitglied werden

Jede Multitable SQL-Abfrage ist eine Art von beizutreten. Die Quellentabellen sind in dem Sinne verbunden, der die Ergebnistabelle Informationen aus allen Quellen-Tabellen entnommen enthält. Die einfachste Join ist eine Zwei-Tisch WÄHLEN das hat keinen WOHER Klausel-Qualifikation: Jede Zeile der ersten Tabelle wird auf jede Zeile der zweiten Tabelle verknüpft.

Die Ergebnistabelle ist das kartesische Produkt der beiden Quelltabellen. Die Anzahl der Zeilen in der Ergebnistabelle ist gleich der Anzahl der Zeilen in der ersten Ausgangstabelle durch die Anzahl der Zeilen in der zweiten Quelltabelle multipliziert.

Zum Beispiel vorstellen, dass Sie der Personalmanager für ein Unternehmen und Teil Ihrer Arbeit sind, ist zu Mitarbeiterdaten pflegen. Die meisten Mitarbeiter Daten, wie Home-Adresse und Telefonnummer, ist nicht besonders empfindlich. Aber einige Daten, wie aktuelle Gehalt, sollten nur autorisierten Personen zur Verfügung stehen. Um die Sicherheit der sensiblen Informationen erhalten, halten Sie es in einer separaten Tabelle, die ein Passwort geschützt ist.

Betrachten Sie das folgende Paar von Tabellen:

Mitarbeitervergütung -------- ------------ EmpID EmployFName SalaryLName BonusCityPhone

Füllen Sie die Tabellen mit einigen Beispieldaten:

EmpID FName LName Ort Telefon ----- ----- ----- ---- ----- 1 Whitey Ford orange 555-10012 Don Larson Newark 555-32213 Sal Maglie Nutley 555-69054 Bob Turley Bonus Passaic 555-8908Employ Gehalt ------ ------ ----- 1 33000 100002 18000 20003 24000 50004 22000 7000

Erstellen Sie ein virtuelles Ergebnistabelle mit der folgenden Abfrage:

SELECT * FROM Mitarbeiter, AUSGLEICH -

Hier ist, was die Abfrage erstellt:

EmpID FName LName Ort Telefon Employ Gehalt Bonus ----- ----- ----- ---- ----- ------ ------ ----- 1 Whitey Ford orange 555-1001 1 33000 100001 Whitey Ford orange 555-1001 2 18000 20001 Whitey Ford orange 555-1001 3 24000 50001 Whitey Ford orange 555-1001 4 22000 70002 Don Larson Newark 555-3221 1 33000 100002 Don Larson Newark 555- 3221 2 18000 20002 Don Larson Newark 555-3221 3 24000 50002 Don Larson Newark 555-3221 4 22000 70003 Sal Maglie Nutley 555-6905 1 33000 100003 Sal Maglie Nutley 555-6905 2 18000 20003 Sal Maglie Nutley 555-6905 3 24000 50003 Sal Maglie Nutley 555-6905 4 22000 70004 Bob Turley Passaic 555-8908 1 33000 100004 Bob Turley Passaic 555-8908 2 18000 20004 Bob Turley Passaic 555-8908 3 24000 50004 Bob Turley Passaic 555-8908 4 22000 7000

Die Ergebnistabelle, die das kartesische Produkt der Mitarbeiter- und Kompensationstabellen ist, enthält erhebliche Redundanz. Darüber hinaus ist es nicht viel Sinn. Es verbindet jede Zeile von EMPLOYEE mit jeder Zeile der Entschädigung.

Die einzigen Zeilen, die aussagekräftige Informationen vermitteln sind solche, in denen die EmpID Zahl, die von EMPLOYEE kam entspricht der Beschäftigen Eine Zahl, die kamen aus AUSGLEICH. In diesen Reihen ein Name und Anschrift des Mitarbeiters mit seinem Ausgleich in Verbindung gebracht.

Wenn Sie versuchen, nützliche Informationen, um aus einer Multitable-Datenbank, die cartesianischen durch ein Grund hergestellte Produkt verbinden ist fast nie was Sie wollen, aber es ist fast immer der erste Schritt auf dem Weg, was Sie wollen. Durch Einschränkungen der Anwendung BEITRETEN mit einem WOHER Klausel können Sie die unerwünschten Zeilen herausfiltern.

Menü