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".
categories
idcategory
1 PHP-MySQL
2 HTML
links
idlinkvisits
1 coursesweb.net/php-mysql/arrays 12
1 coursesweb.net/php-mysql/strings 15
2 coursesweb.net/html/html-tables 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
Result:
| id | category |	              link             | visits |
-----------------------------------------------------------------
| 2 |   HTML    | coursesweb.net/php-mysql/strings |   15   |
| 2 |   HTML    | coursesweb.net/html/html-tables  |   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`
Result:
| category  |               link                   |
----------------------------------------------------
| PHP-MySQL | coursesweb.net/php-mysql/arrays  |
| PHP-MySQL | coursesweb.net/php-mysql/strings |

Two Selects in a Query

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

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')
Result:
|               link                  |
---------------------------------------
| coursesweb.net/html/html-tables |


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
Result:
| 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

HTML
CSS
JavaScript
PHP-MySQL
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 */
  opacity:0.4;
}
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"=>"coursesweb.net");
shuffle($lang);
var_export($lang);     // array (0=>"coursesweb.net", 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)