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

What attribute makes the input text box to not be modified by the user?
checked="checked" readonly="readonly" disabled="disabled"
<input type="text" value="fixed-value" readonly="readonly" name="a_name" />
What CSS property allows you to create rounded corners in your webpage design?
background-size border-size border-radius
.class {
  border:2px solid blue;
What instruction displays a confirmation dialog box to the viewer, who must then click OK or Cancel to proceed?
indexOf() confirm() prompt()
var ques = window.confirm("The result of 0+0 is 0?");
if (ques) alert("Corect");
else alert("Incorrect");
Indicate the PHP function that returns the lowest number of the parameter values.
floor() ceil() min()
$min_nr = min(12, 8, 25, 13);
echo $min_nr;        // 8
Select in two MySQL tables

Last accessed pages

  1. Get Closest Number (24)
  2. Insert, Select and Update NULL value in MySQL (1308)
  3. TV-Screen shape with CSS (171)
  4. CSS Rhombus Shape (512)
  5. jQuery Drag and Drop Rows between two similar Tables (555)

Top accessed pages

  1. PHP-MySQL free course, online tutorials PHP MySQL code (5611)
  2. Courses Web: PHP-MySQL JavaScript Ajax HTML CSS Flash-AS3 (5416)
  3. Get Attribute (ID, Class, Name, Title, Src) with jQuery (5220)
  4. PHP PDO - exec (INSERT, UPDATE, DELETE) MySQL (4976)
  5. PHP Chat Script (4754)