In this tutorial you can learn how to select data from two MySQL tables with a single query.
When the SQL query selects columns from diferent tables, you must specify the table name and the column; the syntax is:
SELECT `table1`.`column`, `table2`.`column` FROM `table1`, `table2` WHERE conditon

Let's see some examples, in which we'll use the following two tables, named "categories" and "links".
1 12
1 15
2 18

1. Select all the columns from "categories" table where id=2, and the "link" and "visits" columns where visits>13.
SELECT `categories`.*, `links`.`link`, `links`.`visits` FROM `categories`, `links` WHERE `categories`.`id`=2 AND `links`.`visits`>13
| id | category |	              link             | visits |
| 2 |   HTML    | |   15   |
| 2 |   HTML    |  |   18   |

2. Select the "category", and the "link" columns, where the 'id' in the 'categories' table is 1 and the id in the 'links' table is equal with the 'id' of the 'categories'.
SELECT `categories`.`category`, `links`.`link` FROM `categories`, `links` WHERE `categories`.`id`=1 AND `categories`.`id`=`links`.`id`
| category  |               link                   |
| PHP-MySQL |  |
| PHP-MySQL | |

Two Selects in a Query

You can also perform two select commands in a SQL query.

1. Select the "link" column (from 'links') where the "id" corresponds to the HTML value (stored in the 'categories').
SELECT `link` FROM `links` WHERE `id`=(SELECT `id` FROM `categories` WHERE `category`='HTML')
|               link                  |
| |

2. Counts all rows in the 'links' table, where visits>14, and selects "category" column from 'categories' where id<4.
SELECT (SELECT COUNT(*) FROM `links` WHERE `visits`>14) AS nrl, `category` FROM `categories` WHERE `id`<4
| nrl | category  |
|  2  | PHP-MySQL |
|  2  |   HTML    |

- There is also another way to select columns from two tables in a single query, by using the JOIN command. This method is presented in the next tutorial.

Daily Test with Code Example

Which type of <input> creates input fields that should contain a numeric value?
type="text" type="number" type="date"
<input type="number" name="points" min="5" max="80" />
Which CSS property allows to change the transparency of an element?
font-style opacity color
#id {
  filter:alpha(opacity=40);    /* for IE */
Click on the function that formats a number to specified number of characters.
toPrecision() exp() toFixed()
var num = 12.34567;
alert( num.toPrecision(3) );       // 12.3
Which function randomizes the order of the elements into an array?
natsort() shuffle() sort()
$lang = array(10=>"PHP", 20=>"JavaScript", "site"=>"");
var_export($lang);     // array (0=>"", 1=>"PHP", 2=>"JavaScript")
Select in two MySQL tables

Last accessed pages

  1. $_GET, $_POST and $_REQUEST Variables (18585)
  2. Read Excel file data in PHP - PhpExcelReader (31772)
  3. Check and Validate input field when loses focus, with PHP via Ajax (2744)
  4. JavaScript code and PHP (11989)
  5. Get Mouse coordinates inside a Div or an Image (4768)

Top accessed pages

  1. Courses Web: PHP-MySQL JavaScript Ajax HTML CSS Flash-AS3 (41457)
  2. Read Excel file data in PHP - PhpExcelReader (31772)
  3. PHP-MySQL free course, online tutorials PHP MySQL code (31722)
  4. Get Attribute (ID, Class, Name, Title, Src) with jQuery (29002)
  5. PHP PDO - exec (INSERT, UPDATE, DELETE) MySQL (25979)