Skip to main content

Right Outer Join

A right join is another type of outer join, written using the RIGHT JOIN keywords. Every RIGHT JOIN
corresponds to an equivalent LEFT JOIN. The only difference is that the roles of the tables are reversed
relative to the roles in a RIGHT JOIN. That is, the right table is the reference table, so a RIGHT JOIN
produces a result for each row in the right table, whether or not it has any match in the left table.
The previous example showed the result of a LEFT JOIN . The example below is the same statement, but
with a RIGHT JOIN:

mysql> SELECT Name, Language
-> FROM Country
-> RIGHT JOIN CountryLanguage
-> ON Code = CountryCode
-> WHERE CountryCode IS NULL;
Empty set (#.## sec)

Note that the join is now being referenced to the right table CountryLanguage, which yields no results
(empty set).
Syntactically, converting a left join to a right join requires only that the order be reversed in which the
tables are named. It isn't necessary to also reverse the order in which the columns are named in the ON
clause, but it can help make the query clearer to name the columns in the same order as the tables in which
they appear.

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...

Self Joins

A table name is always ambiguous when table is joined to itself using a self-join. For example, the Country table in the world database contains an IndepYear column indicating the year in which each country achieved independence. To find all countries that have the same year of independence as some given country, a self-join can be used. However, the query cannot be written like this: mysql> SELECT IndepYear, Name, Name -> FROM Country JOIN Country -> ON IndepYear = IndepYear AND Name = 'Qatar'; ERROR 1066 (42000): Not unique table/alias: 'Country' Furthermore, the ambiguity cannot be removed from column references by preceding them with table name qualifiers because the names remain identical: mysql> SELECT Country.IndepYear, Country.Name, Country.Name -> FROM Country JOIN Country -> ON Country.IndepYear = Country.IndepYear -> AND Country.Name = 'Qatar'; ERROR 1066 (42000): Not unique table/alias: 'Country' It ...