Какие (может быть несколько или ни одного!) из ниже перечисленных операторов SELECT дают следующую выборку:
Выборка: s_no sname
s1 Smith
s3 Blake
s4 Clark
Варианты:
А) SELECT s_no, sname FROM s WHERE s_no<>'s2' AND s_no IN (SELECT s_no FROM sp
WHERE p_no IN (SELECT p_no FROM sp WHERE s_no='s2'))
Б) SELECT DISTINCT s.s_no, sname FROM (s INNER JOIN sp x ON (s.s_no=x.s_no
AND s.s_no<>'s3')) INNER JOIN sp y ON (x.p_no=y.p_no AND y.s_no='s3')
В) SELECT DISTINCT s.s_no, sname FROM (s INNER JOIN sp ON (s.s_no=x.s_no
AND s.s_no<>'s4')) INNER JOIN sp ON (x.p_no=y.p_no AND y.s_no='s4')
Г) SELECT DISTINCT s.s_no, sname FROM (s INNER JOIN sp x ON (s.s_no=x.s_no
AND s.s_no<>'s4')) INNER JOIN sp y ON (x.p_no=y.p_no AND y.s_no='s4')
Д) SELECT DISTINCT s.s_no, sname FROM s,sp x,sp y WHERE s.s_no<>'s2'
AND s.s_no=x.s_no AND x.p_no=y.p_no AND y.s_no='s2'