Linking MySQL Tables with JOIN Keys

Relational tables are linked through key columns so product, customer and transaction data can stay in separate tables without repeating the same details in every row. JOIN clauses then reconstruct the report you need.

Relational tables linked through key columns
Linking of table is a very common requirement in SQL. Different types of data can be stored in different tables and based on the requirement the tables can be linked to each other and the records can be displayed in a very interactive way.

We can link more than one table to get the records in different combinations as per requirement. Keeping data of one area in one table and linking them each other with key field is better way of designing tables than creating single table with more number of fields. For example in a student database you can keep student contact details in one table and its performance report in another table. You can link these two tables by using one unique student identification number ( ID ).

Let us take one example of linking of tables by considering product and customer relationship. We have a product table where all the records of products are stored. Same way we will have customer table where records of customers are stored. The daily sales keep the record of all the sales. This sales table will keep record of which product who has purchased. So linking is to be done from Sales table to product table and customer table.

This is our customer table
customer_id name address email
1 Robort John 123 Avenue, WS robort@sitename.com
2 Elena Hick 567 avenue elana@sitename.com
3 Greek Tor 987 street greek@sitename.com
4 Marr Batson 456 Mary road marry@sitename.com
5 Don Rafel 456 Rafel don@sitename.com
Product table is below
product_id product_name product_dtl
1 CPU CPU unit details here.
2 Keyboard Keyboard Details available here
3 Mouse Mouse details available here
4 Monitor Monitor details here
5 CD Drive CD Drive details here
 Sales table is here below.
sales_id product_id customer_id date_of_sale
1 1 2 2004-11-12 00:00:00
2 2 1 2004-01-11 00:00:00
3 3 1 2004-05-06 00:00:00

From these three tables let us find out the information on sales by linking these tables.  We will look into sales table and link it to the customer table by the customer id field and in same way we will link product table by product ID field. Older SQL often linked tables with comma-separated table lists and WHERE conditions. Modern examples are clearer with explicit INNER JOIN and ON conditions. Here is the command to link three tables.
SELECT p.product_name,
       c.name AS customer_name,
       s.date_of_sale
FROM sales AS s
INNER JOIN product AS p ON p.product_id = s.product_id
INNER JOIN customer AS c ON c.customer_id = s.customer_id
ORDER BY s.date_of_sale;
The above SQL command links three tables and display the required result. The tables are linked by their ID fields. The output is here
product_name name date_of_sale
CPUElena Hick2004-11-12 00:00:00
KeyboardRobort John2004-01-11 00:00:00
MouseRobort John2004-05-06 00:00:00
This way we can link three tables and get a meaningful report.
You can download SQL Dump of these three tables here.

USING LEFT , RIGHT, INNER join of tables

We may be interested to know which are the products not sold or who are the customers who have not purchased.
We can prepare such reports by using Left Join , RIGHT Join or INNER JOIN.
Joining tables Using SQL LEFT Join, RIGHT Join and Inner Join

LEFT JOIN ( Basic Query) RIGHT JOIN INNER Join CROSS Join
SQL Union
LEFT JOIN using Multiple Tables Exercise on LEFT JOIN using Product & Sales Tables
Exercise : Sales - Agent using table JOIN and Date functions

JOIN types · LEFT JOIN · Self join · Multiple-table JOINs · UNION




Subscribe to our YouTube Channel here



plus2net.com




SQL Video Tutorials










✖
We use cookies to improve your browsing experience. . Learn more
HTML MySQL PHP JavaScript ASP Photoshop Articles Contact us
© 2000-2026 plus2net.com All rights reserved worldwide Privacy Policy Disclaimer