SQL Basics
Querying Data
Filtering Data
Joining Tables
SQL Functions
Modifying Data
Defining Data
SQL INNER JOIN
In this tutorial, you will learn how to fetch data from two tables using the INNER JOIN clause.
The INNER JOIN is the most common type of join. It returns only those rows that have a match in both joined tables. The following Venn diagram illustrates how inner join works.
Only matching rows
Syntax
The basic syntax of the INNER JOIN to combine two tables can be given with:
SELECT column_names
FROM table_name1
JOIN table_name2
ON column_name1 = column_name2
SELECT column_names
FROM table_name1
INNER JOIN table_name2
ON column_name1 = column_name2
It’s real easy to read in a plain-English way: select some columns from a table, except that the results will only include rows where that fulfill my conditions.
- The clauses need to be in this order e SELECT FROM WHERE
- The WHERE clause appears immediately after the FROM clause
- In WHERE clause, you can specify one or more comparisons and logical operators.
Examples
To understand the ORDER BY statement in a better way, let’s look at the following customers and orders tables in our tutorial database:
Now, let’s check out some examples that demonstrate how it actually works.
Filter Rows with WHERE Clause
We have the following task be to solve using SQL statements
The following SQL statement will returns all customers from customers table and order the result by the score column in ascending order.
You can have the same the result set by skipping the ASC, because it is the default option in ORDER BY.
SELECT
c.customer_id,
c.first_name,
o.order_id,
o.quantity
FROM customers AS c
INNER JOIN orders AS o
ON c.customer_id = o. customer_id
After executing the above query, you’ll get the result set something like this:
As you can see the output contains everything the whole customers tables including all rows and columns.
Similarly, you can use the DESC option to perform a sorting in descending order. The following statement will orders the result set by the numeric salary column in descending order.
SELECT
*
FROM customers
WHERE score > 500
Once you specify multiple columns after ORDER BY, the Database will sort the result by the first column, then the new ordered list will be sorted again by next column.
Operators in WHERE Clause
You can filter your results in a number of ways using comparison and logical operators, which you’ll learn about in the next tutorials. I summarized in the following table the most important ones.