Skip to main content

The INNER JOIN Keywords


The form of inner join syntax just discussed uses the comma operator in the FROM clause to name the
joined tables. Another inner join syntax uses the INNER JOIN keywords. With this syntax, those
keywords replace the comma operator between table names in the FROM clause. Also, with INNER JOIN,the conditions that indicate how to perform record matching for the tables move from the WHERE clause to become part of the FROM clause.
There are two syntaxes for specifying matching conditions with INNER JOIN queries:

• Add ON and an expression that states the required relationship between tables. Suppose that a join
performs a country code match between the CountryLanguage and Country tables. The join
would be written as follows:

SELECT Country.Name, CountryLanguage.Language FROM CountryLanguage INNER JOIN Country
ON CountryLanguage.CountryCode = Country.Code;

• If the name of the joined column is the same in both tables, add USING() rather than ON after the
table names, and list the name within the parentheses. For example, if the country code column
happened to be named CountryCode in both tables, the query could be written like this:

SELECT Country.Name FROM City INNER JOIN CountryLanguage USING (CountryLanguage.CountryCode)
WHERE CountryLanguage.Language='Turkish';

If tables using more than one pair of like-named columns are being joined, list the column names
within the parentheses of the USING() clause separated by commas.

The ON Clause

Similar to WHERE, the ON clause in a join specifies how to match records in the joined tables, and
eliminates non-corresponding combinations of rows from the output. The ON clause also can include
additional conditions to further restrict the output and answer more specific questions. Here are some
examples:

• In which countries is the Swedish language spoken? To answer this, include a condition that
identifies the language desired:

mysql> SELECT Country.Name, CountryLanguage.Language
-> FROM CountryLanguage INNER JOIN Country
-> ON CountryLanguage.CountryCode = Country.Code
-> AND Language = 'Swedish';


+---------+----------+
| Name | Language |
+---------+----------+
| Norway | Swedish |
| Sweden | Swedish |
| Finland | Swedish |
| Denmark | Swedish |
+---------+----------+

Comments

Popular posts from this blog

PHP INTRODUCTION

                     PHP  (recursive acronym for  PHP: Hypertext Preprocessor ) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. PHP stands for  P HP:  H ypertext  P reprocessor PHP is a server-side scripting language, like ASP PHP scripts are executed on the server PHP supports many databases (MySQL, Informix, Oracle, Sybase, Solid, PostgreSQL, Generic ODBC, etc.) PHP is an open source software PHP is free to download and use Why PHP? PHP runs on different platforms (Windows, Linux, Unix, etc.) PHP is compatible with almost all servers used today (Apache, IIS, etc.) PHP is FREE to download from the official PHP resource:  www.php.net PHP is easy to learn and runs efficiently on the server side What can PHP do? Anything. PHP is mainly focused on server-side scripting, so you can...

Storage Engine Breakdown

The following diagram represents a simplified view of the MySQL server and its interaction with the  storage engines. The following properties are storage engine dependant: • Storage Medium – Each table uses its own method of storing the data it contains. • Transactional Capabilities – Certain storage engines handle transactional processing which ensures that integrity of a database is maintained during the processing of multiple SQL statements.

Outer Joins

Whereas an INNER JOIN will find combinations of matching rows from joined tables, the OUTER JOIN also finds the instances where a row in one table has no match in another table. An OUTER JOIN find matches (just like an INNER JOIN), but also identifies mismatches. Two forms of outer joins are LEFT JOIN and RIGHT JOIN . These do not use the comma separator or the INNER JOIN keywords. They each answer the same kinds of questions, but differ slightly in their syntax. That is a LEFT JOIN can always be re-written into a equivalent RIGHT JOIN. (In the following sections, the terms left table and right table refer to the tables named first and second in the FROM clause, respectively.)  Left Outer Join A left join is a type of outer join, written using the LEFT JOIN keywords. A left join treats the left table (the first one named) as a reference table and produces output for each row selected from it, whether or not the row is matched by rows in the right table. Like a join w...