sql >> Database >  >> RDS >> Mysql

INNER JOIN ON vs WHERE-clausule

INNER JOIN is de ANSI-syntaxis die u moet gebruiken.

Het wordt over het algemeen als leesbaarder beschouwd, vooral als je aan veel tafels meedoet.

Het kan ook eenvoudig worden vervangen door een OUTER JOIN wanneer een behoefte zich voordoet.

De WHERE syntaxis is meer gericht op relationele modellen.

Een resultaat van twee tabellen JOIN ed is een cartesiaans product van de tabellen waarop een filter is toegepast dat alleen die rijen selecteert met overeenkomende kolommen.

Het is gemakkelijker om dit te zien met de WHERE syntaxis.

Wat uw voorbeeld betreft, in MySQL (en in SQL in het algemeen) zijn deze twee zoekopdrachten synoniemen.

Merk ook op dat MySQL ook een STRAIGHT_JOIN . heeft clausule.

Met behulp van deze clausule kunt u de JOIN . besturen volgorde:welke tafel wordt gescand in de buitenste lus en welke in de binnenste lus.

U kunt dit niet in MySQL regelen met WHERE syntaxis.



  1. 5 praktische databasetips voor beginners

  2. MySQL-triggers gebruiken

  3. 4 Handige Commandline-tools om MySQL-prestaties in Linux te bewaken

  4. Uw Django-project migreren naar Heroku