Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära SQL Inner Join | SQL Joining Tables
Data Manipulation using SQL

book
SQL Inner Join

JOIN operator makes combining the records into two tables based on the related column between them. For example, we want to join singers and songs columns in some way. These tables have the same column: singer_id in songs and id in singers. We join them by this column, and now records are rearranged into groups by this id.

JOIN can be applied for multiple tables, and the syntax is:

--do not run this query
SELECT columns
FROM table1 INNER JOIN table2
ON table1.col1 = table2.col2
WHERE conditions
GROUP BY columns
HAVING agg_condition
ORDER BY columns
12345678
--do not run this query SELECT columns FROM table1 INNER JOIN table2 ON table1.col1 = table2.col2 WHERE conditions GROUP BY columns HAVING agg_condition ORDER BY columns
copy

JOIN is an alternative to nested queries. Let's look at the following example, find all songs released between 1970 and 1990:

SELECT songs.title
FROM albums INNER JOIN songs ON songs.album_id = albums.id
WHERE year>=1970 AND year<=1990
123
SELECT songs.title FROM albums INNER JOIN songs ON songs.album_id = albums.id WHERE year>=1970 AND year<=1990
copy

This diagram shows how INNER JOIN works. Chosen columns albums_id and id are joined, and only ids present in both columns appear in the result query. Intersection of sets (1, 2, 3) and (1, 2, 4, 2) is a (1, 2, 2).

This way, we avoid using nested queries. Using Joins is a common practice, and in the next chapters, we'll learn other types, except INNER JOIN.

Uppgift

Swipe to start coding

Write the query to find all songs created by AC/DC. Print song's title (title) and singer (naming) to the console.

Lösning

SELECT songs.title, singers.naming
FROM singers
INNER JOIN songs ON songs.singer_id = singers.id
WHERE singers.naming = 'AC/DC'

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 1
SELECT _ _ _
FROM _ _ _
_ _ _ JOIN _ _ _
ON _ _ _
WHERE _ _ _
Query ResultQuery Result
No query executed yet...

Fråga AI

expand
ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

some-alt