Course Content
Data Manipulation using SQL
Data Manipulation using SQL
SQL In Statement
Nested queries
In SQL, we can put the result of the query inside another query, and use it with operator IN
:
SELECT title FROM songs WHERE album_id IN (SELECT id FROM albums WHERE year > 2000)
This is a query to find songs that are created in the 21st century. First, the inner query executes with ids of albums after 2000 from table albums. Using these id's, we select such titles from songs, that album_id
is among these albums. This query is quite easy and is using for multiple tables: you find some info in table1, that is inaccessible from table2, and use it for query from table2.
But we can also put constant values, here we selected all songs by 'Britney Spears', 'The Mammas & The Pappas' and 'Pink Floyd':
SELECT id FROM singers WHERE naming IN ('Britney Spears', 'The Mammas & The Pappas', 'Pink Floyd')
Now the set ('Britney Spears', 'The Mammas & The Pappas', 'Pink Floyd')
is a constant list of singers, and we are searching id
s of these three artists. We can also use NOT IN
operator:
SELECT id FROM singers WHERE naming NOT IN ('ABBA', 'Pink Floyd', 'Mushmellow')
Swipe to show code editor
Find all the songs' titles (title
), where the singer's info
contains 'Solo'
, using nested queries.
Thanks for your feedback!
SQL In Statement
Nested queries
In SQL, we can put the result of the query inside another query, and use it with operator IN
:
SELECT title FROM songs WHERE album_id IN (SELECT id FROM albums WHERE year > 2000)
This is a query to find songs that are created in the 21st century. First, the inner query executes with ids of albums after 2000 from table albums. Using these id's, we select such titles from songs, that album_id
is among these albums. This query is quite easy and is using for multiple tables: you find some info in table1, that is inaccessible from table2, and use it for query from table2.
But we can also put constant values, here we selected all songs by 'Britney Spears', 'The Mammas & The Pappas' and 'Pink Floyd':
SELECT id FROM singers WHERE naming IN ('Britney Spears', 'The Mammas & The Pappas', 'Pink Floyd')
Now the set ('Britney Spears', 'The Mammas & The Pappas', 'Pink Floyd')
is a constant list of singers, and we are searching id
s of these three artists. We can also use NOT IN
operator:
SELECT id FROM singers WHERE naming NOT IN ('ABBA', 'Pink Floyd', 'Mushmellow')
Swipe to show code editor
Find all the songs' titles (title
), where the singer's info
contains 'Solo'
, using nested queries.
Thanks for your feedback!