Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> PHP /MySQL Programmering >> Content
MySQL sluit zich Relationship Tutorial
MySQL is een open source relationele database management systeem ( RDBMS ) , dat particulieren en bedrijven vaak gebruiken om de back-end van web- applicaties te draaien . In SQL , joins vaak frustreren nieuwe gebruikers . Zoals databases groter worden , wordt het belangrijk om queries te gebruiken verbindt efficiënt . JOIN trefwoord MySQL's maakt het makkelijker om te werken met zowel nieuwe als legacy code . Inner joins

Als je denkt aan het samenvoegen van twee tabellen , je waarschijnlijk denken aan een query met een simpele aansluiten van een tabel zoals Werknemers met een tafel als Afdelingen :

SELECT Employees.last_name
, Employees.first_name , Departments.department_nameFROM Afdelingen , EmployeesWHERE Departments.department_id = Employees.department_id ;
p Dit is een inner join . Het haalt alleen de rijen waar de department_id is precies gelijk in beide tabellen . De bovenstaande code werkt in MySQL , maar u kunt vinden het minder leesbaar dan het volgende :

SELECT Employees.last_name , Employees.first_name , Departments.department_nameFROM DepartmentsINNER JOIN EmployeesON Departments.department_id = Employees.department_id ;

Deze twee queries produceren precies dezelfde output . Het verschil is dat met behulp van de MySQL JOIN trefwoord , heb je maakte het meer duidelijk wat voor soort samen met u gebruikt . Omdat inner join is de standaard , als je buiten de zoekwoord INNER , MySQL voert nog steeds een inner join .
Outer joins

Als u werknemers die niet zijn toegewezen aan een specifieke afdeling en hebben een NULL waarde voor hun department_id , de bovenstaande join zal niet deze werknemers helemaal geven . Als u wilt dat alle werknemers of ze een afdeling of niet , moet je een outer join gebruiken .

MySQL
gebruikt LINKS of RECHTS met de JOIN trefwoord op te geven dat u een outer join , en geef je aan welke tafel u wilt dat de NULL-waarden uit . Hier is onze herziene vraag :

SELECT Employees.last_name , Employees.first_name
, Departments.department_nameFROM EmployeesLEFT OUTER JOIN DepartmentON Departments.department_id = Employees.department_id ;

Je krijgt elke werknemer in uw output , zelfs als MySQL vindt geen department_id aan dat werknemersrecord overeenkomen . De tabel die u wilt nulls toestaan ​​van ( afdelingen ) is aan de linkerzijde van de gelijk-teken .

Als je wilde afdelingen zien zonder personeel in uw output , zou u een RIGHT OUTER JOIN te gebruiken . De tabel die u wilt nulls toestaan ​​uit in dat geval is aan de rechterkant van het gelijkteken .
Kruis sluit zich

Doing kruis voegt per ongeluk een voorkomende fout . Dat is wat er gebeurt als je niet opgeeft een join helemaal . Als je niet ofwel zet een join in uw WHERE-component , of gebruik een van de andere JOIN ... ON opties , krijg je alle mogelijke combinaties van de rijen in elk van de tabellen in uw FROM of ze een relatie hebben of niet .

Als je trekt uit drie tafels met respectievelijk 10 , 20 , en 3 rijen , krijg je 10 x 20 x 3 rijen als uw totale productie . U kunt het probleem deze oorzaken als uw database heeft meer dan een paar records.

Zelden zult u wilt doen een kruis mee op doel te zien . MySQL kunt u de CROSS JOIN te gebruiken ... ON syntax voor iedereen later dat het kruis join opzettelijk was uw code bewerken te tonen .

Previous: Next:
  PHP /MySQL Programmering
·Hoe kan ik een XML afspeellijs…
·SQL ondersteunde Gegevenstype …
·Hoe de meest voorkomende MySql…
·Hoe schrijf je een tekst Based…
·Hoe maak je elke N-de Letter V…
·Hoe te Cookies Stuur Across Do…
·Hoe Vergelijk Data Met SQL Ora…
·Hoe te verminderen het aantal …
·Hoe je twee Strings Join in PH…
  Related Articles
Hoe te DataGridView gebruiken voor MySQL…
Hoe een ouder-kind relatie behulp Maak V…
Hoe kan ik een MySQL database aan te mak…
Hoe kan ik een MySQL database convertere…
Hoe kan ik een MySQL database exporteren…
Hoe kan ik een MySQL database importeren…
Hoe je MySQL -opdrachten leren 
Hoe te installeren MySQL 
Hoe te Access converteren naar MySQL 
  Programmering Articles
·Hoe maak ik een Travel Service webpagina…
·VBA -schakelfunctie 
·Hoe kan ik een index in een dynamische a…
·Hoe maak je een Java -applet invoegen Me…
·Hoe link naar een PHP- bestand 
·Hoe te VBS Scripts schrijven aan de grif…
·Hoe te maken . RTF-bestanden in Visual B…
·Hoe maak je een CAB -bestand Registreer 
·Hoe te AppFabric SDK gebruiken voor Ruby…
Copyright © Computer Kennis http://www.nldit.com