When connecting multiple tables in the database query, the developer can choose to use Inner Join On or where clause. Both methods are used for the same purpose: filter data according to the conditioned conditions between tables. However, there are slight differences between them.
Inner Join on ON clause is a syntax recommended in ANSI SQL, especially in complex connections involving multiple tables, it is easier to read. The structure is as follows:
The method of
<code class="language-sql">SELECT ... FROM table1 INNER JOIN table2 ON table1.foreignkey = table2.primarykey WHERE ...</code>
In MySQL, the use of Inner Join on and where clause is the same as Inner Join. Both inquiries will produce the same results. MySQL also offers Straight_join clauses, which can control the sequence of connection, which is a function that cannot be provided by WHERE grammar.
<code class="language-sql">SELECT ... FROM table1, table2 WHERE table1.foreignkey = table2.primarykey AND ...</code>
Readability:
Inner Join on is usually considered to be easier to read, especially in complex connections.
Flexible: If necessary, Inner Join On can easily replace it with Out Join.
grammar:The above is the detailed content of INNER JOIN ON vs. WHERE Clause: When Should I Use Which for Database Queries?. For more information, please follow other related articles on the PHP Chinese website!