mysql using subquery with no join
up vote
0
down vote
favorite
here are the relevant tables
movie(id, title, relYear, category, runTime, director,
studioName, description, rating)
actor(aID, fName, surname, gender)
stars(movieID, actorID)
movGenre(movieID, genre)
I'm just trying to return movies where 'Michael Fassbender' stars using a subquery ... 'id' in movie refers to the the movie id not the actor id if that was the case I could do
SELECT title, category
FROM movie
WHERE 'id' =(SELECT 'aID'
FROM actor
WHERE fName='Michael' and surname='Fassbender')
Is there a way to do it without using any joins?
mysql join subquery
add a comment |
up vote
0
down vote
favorite
here are the relevant tables
movie(id, title, relYear, category, runTime, director,
studioName, description, rating)
actor(aID, fName, surname, gender)
stars(movieID, actorID)
movGenre(movieID, genre)
I'm just trying to return movies where 'Michael Fassbender' stars using a subquery ... 'id' in movie refers to the the movie id not the actor id if that was the case I could do
SELECT title, category
FROM movie
WHERE 'id' =(SELECT 'aID'
FROM actor
WHERE fName='Michael' and surname='Fassbender')
Is there a way to do it without using any joins?
mysql join subquery
2
Yes, there are some way to do it withoutJOIN
s but why? There are even ways to do it without MySQL, but why?
– Alex
Nov 22 at 18:04
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
here are the relevant tables
movie(id, title, relYear, category, runTime, director,
studioName, description, rating)
actor(aID, fName, surname, gender)
stars(movieID, actorID)
movGenre(movieID, genre)
I'm just trying to return movies where 'Michael Fassbender' stars using a subquery ... 'id' in movie refers to the the movie id not the actor id if that was the case I could do
SELECT title, category
FROM movie
WHERE 'id' =(SELECT 'aID'
FROM actor
WHERE fName='Michael' and surname='Fassbender')
Is there a way to do it without using any joins?
mysql join subquery
here are the relevant tables
movie(id, title, relYear, category, runTime, director,
studioName, description, rating)
actor(aID, fName, surname, gender)
stars(movieID, actorID)
movGenre(movieID, genre)
I'm just trying to return movies where 'Michael Fassbender' stars using a subquery ... 'id' in movie refers to the the movie id not the actor id if that was the case I could do
SELECT title, category
FROM movie
WHERE 'id' =(SELECT 'aID'
FROM actor
WHERE fName='Michael' and surname='Fassbender')
Is there a way to do it without using any joins?
mysql join subquery
mysql join subquery
edited Nov 22 at 17:42
Madhur Bhaiya
19.3k62236
19.3k62236
asked Nov 22 at 17:41
Jade
145
145
2
Yes, there are some way to do it withoutJOIN
s but why? There are even ways to do it without MySQL, but why?
– Alex
Nov 22 at 18:04
add a comment |
2
Yes, there are some way to do it withoutJOIN
s but why? There are even ways to do it without MySQL, but why?
– Alex
Nov 22 at 18:04
2
2
Yes, there are some way to do it without
JOIN
s but why? There are even ways to do it without MySQL, but why?– Alex
Nov 22 at 18:04
Yes, there are some way to do it without
JOIN
s but why? There are even ways to do it without MySQL, but why?– Alex
Nov 22 at 18:04
add a comment |
2 Answers
2
active
oldest
votes
up vote
0
down vote
accepted
You can utilize Correlated Subquery with Exists()
SELECT m.title, m.category
FROM movie AS m
WHERE EXISTS (SELECT 1
FROM stars AS s
JOIN actor AS a ON a.aID = s.actorID
WHERE a.fName = 'Michael' AND
a.surname = 'Fassbender' AND
s.movieID = m.id)
Above solution still utilize JOIN
in some way (inside the subquery). A solution utilizing no Join at all can be:
SELECT title, category
FROM movie
WHERE id IN (SELECT movieID
FROM stars
WHERE actorID IN (SELECT aID
FROM actor
WHERE fName = 'Michael' AND
surname = 'Fassbender'))
P.S. Unless this is some trick assignment/HW, I would seriously recommend against using this query in a real-life application.
add a comment |
up vote
0
down vote
SELECT DISTINCT m.title, m.category
FROM movie
INNER JOIN stars s
ON s.movieID = m.id
INNER JOIN actors a
ON s.actorID = a.aID
AND a.fName='Michael'
AND a.surname='Fassbender'
OP asking for solution without joins :-) "Is there a way to do it without using any joins?"
– Madhur Bhaiya
Nov 22 at 17:52
:-) @MadhurBhaiya Do you really believe that your solution has noJOIN
s? do Ctrl+F ;-) You will be surprised. :-)
– Alex
Nov 22 at 17:59
I know. check the latest update. Do Ctrl + F5 :D
– Madhur Bhaiya
Nov 22 at 18:00
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53436011%2fmysql-using-subquery-with-no-join%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
accepted
You can utilize Correlated Subquery with Exists()
SELECT m.title, m.category
FROM movie AS m
WHERE EXISTS (SELECT 1
FROM stars AS s
JOIN actor AS a ON a.aID = s.actorID
WHERE a.fName = 'Michael' AND
a.surname = 'Fassbender' AND
s.movieID = m.id)
Above solution still utilize JOIN
in some way (inside the subquery). A solution utilizing no Join at all can be:
SELECT title, category
FROM movie
WHERE id IN (SELECT movieID
FROM stars
WHERE actorID IN (SELECT aID
FROM actor
WHERE fName = 'Michael' AND
surname = 'Fassbender'))
P.S. Unless this is some trick assignment/HW, I would seriously recommend against using this query in a real-life application.
add a comment |
up vote
0
down vote
accepted
You can utilize Correlated Subquery with Exists()
SELECT m.title, m.category
FROM movie AS m
WHERE EXISTS (SELECT 1
FROM stars AS s
JOIN actor AS a ON a.aID = s.actorID
WHERE a.fName = 'Michael' AND
a.surname = 'Fassbender' AND
s.movieID = m.id)
Above solution still utilize JOIN
in some way (inside the subquery). A solution utilizing no Join at all can be:
SELECT title, category
FROM movie
WHERE id IN (SELECT movieID
FROM stars
WHERE actorID IN (SELECT aID
FROM actor
WHERE fName = 'Michael' AND
surname = 'Fassbender'))
P.S. Unless this is some trick assignment/HW, I would seriously recommend against using this query in a real-life application.
add a comment |
up vote
0
down vote
accepted
up vote
0
down vote
accepted
You can utilize Correlated Subquery with Exists()
SELECT m.title, m.category
FROM movie AS m
WHERE EXISTS (SELECT 1
FROM stars AS s
JOIN actor AS a ON a.aID = s.actorID
WHERE a.fName = 'Michael' AND
a.surname = 'Fassbender' AND
s.movieID = m.id)
Above solution still utilize JOIN
in some way (inside the subquery). A solution utilizing no Join at all can be:
SELECT title, category
FROM movie
WHERE id IN (SELECT movieID
FROM stars
WHERE actorID IN (SELECT aID
FROM actor
WHERE fName = 'Michael' AND
surname = 'Fassbender'))
P.S. Unless this is some trick assignment/HW, I would seriously recommend against using this query in a real-life application.
You can utilize Correlated Subquery with Exists()
SELECT m.title, m.category
FROM movie AS m
WHERE EXISTS (SELECT 1
FROM stars AS s
JOIN actor AS a ON a.aID = s.actorID
WHERE a.fName = 'Michael' AND
a.surname = 'Fassbender' AND
s.movieID = m.id)
Above solution still utilize JOIN
in some way (inside the subquery). A solution utilizing no Join at all can be:
SELECT title, category
FROM movie
WHERE id IN (SELECT movieID
FROM stars
WHERE actorID IN (SELECT aID
FROM actor
WHERE fName = 'Michael' AND
surname = 'Fassbender'))
P.S. Unless this is some trick assignment/HW, I would seriously recommend against using this query in a real-life application.
edited Nov 22 at 17:59
answered Nov 22 at 17:45
Madhur Bhaiya
19.3k62236
19.3k62236
add a comment |
add a comment |
up vote
0
down vote
SELECT DISTINCT m.title, m.category
FROM movie
INNER JOIN stars s
ON s.movieID = m.id
INNER JOIN actors a
ON s.actorID = a.aID
AND a.fName='Michael'
AND a.surname='Fassbender'
OP asking for solution without joins :-) "Is there a way to do it without using any joins?"
– Madhur Bhaiya
Nov 22 at 17:52
:-) @MadhurBhaiya Do you really believe that your solution has noJOIN
s? do Ctrl+F ;-) You will be surprised. :-)
– Alex
Nov 22 at 17:59
I know. check the latest update. Do Ctrl + F5 :D
– Madhur Bhaiya
Nov 22 at 18:00
add a comment |
up vote
0
down vote
SELECT DISTINCT m.title, m.category
FROM movie
INNER JOIN stars s
ON s.movieID = m.id
INNER JOIN actors a
ON s.actorID = a.aID
AND a.fName='Michael'
AND a.surname='Fassbender'
OP asking for solution without joins :-) "Is there a way to do it without using any joins?"
– Madhur Bhaiya
Nov 22 at 17:52
:-) @MadhurBhaiya Do you really believe that your solution has noJOIN
s? do Ctrl+F ;-) You will be surprised. :-)
– Alex
Nov 22 at 17:59
I know. check the latest update. Do Ctrl + F5 :D
– Madhur Bhaiya
Nov 22 at 18:00
add a comment |
up vote
0
down vote
up vote
0
down vote
SELECT DISTINCT m.title, m.category
FROM movie
INNER JOIN stars s
ON s.movieID = m.id
INNER JOIN actors a
ON s.actorID = a.aID
AND a.fName='Michael'
AND a.surname='Fassbender'
SELECT DISTINCT m.title, m.category
FROM movie
INNER JOIN stars s
ON s.movieID = m.id
INNER JOIN actors a
ON s.actorID = a.aID
AND a.fName='Michael'
AND a.surname='Fassbender'
answered Nov 22 at 17:50
Alex
14.1k11736
14.1k11736
OP asking for solution without joins :-) "Is there a way to do it without using any joins?"
– Madhur Bhaiya
Nov 22 at 17:52
:-) @MadhurBhaiya Do you really believe that your solution has noJOIN
s? do Ctrl+F ;-) You will be surprised. :-)
– Alex
Nov 22 at 17:59
I know. check the latest update. Do Ctrl + F5 :D
– Madhur Bhaiya
Nov 22 at 18:00
add a comment |
OP asking for solution without joins :-) "Is there a way to do it without using any joins?"
– Madhur Bhaiya
Nov 22 at 17:52
:-) @MadhurBhaiya Do you really believe that your solution has noJOIN
s? do Ctrl+F ;-) You will be surprised. :-)
– Alex
Nov 22 at 17:59
I know. check the latest update. Do Ctrl + F5 :D
– Madhur Bhaiya
Nov 22 at 18:00
OP asking for solution without joins :-) "Is there a way to do it without using any joins?"
– Madhur Bhaiya
Nov 22 at 17:52
OP asking for solution without joins :-) "Is there a way to do it without using any joins?"
– Madhur Bhaiya
Nov 22 at 17:52
:-) @MadhurBhaiya Do you really believe that your solution has no
JOIN
s? do Ctrl+F ;-) You will be surprised. :-)– Alex
Nov 22 at 17:59
:-) @MadhurBhaiya Do you really believe that your solution has no
JOIN
s? do Ctrl+F ;-) You will be surprised. :-)– Alex
Nov 22 at 17:59
I know. check the latest update. Do Ctrl + F5 :D
– Madhur Bhaiya
Nov 22 at 18:00
I know. check the latest update. Do Ctrl + F5 :D
– Madhur Bhaiya
Nov 22 at 18:00
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53436011%2fmysql-using-subquery-with-no-join%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
2
Yes, there are some way to do it without
JOIN
s but why? There are even ways to do it without MySQL, but why?– Alex
Nov 22 at 18:04