У меня есть база данных, которая имеет Автор (номер, имя), AuthorPublication (помощь, ИДП), публикацию (идентификатор, название)захватный данные из БД ORACLE
Author.id ссылки на AuthorPublication.aid, AuthorPublication.pid ссылки на Publication.od.
Я пытаюсь написать запрос, который возвращает имя авторов, которые были соавторами с «amol» или «samuel», НО НЕ ОБА.
До сих пор я
Select name
From Author, AuthorPublication, Publication
Where Publication.id = PID AND aid = Author.id
В приведенном выше коде нужно фильтровать PID быть авторы, чьи PID матчи автор «Сэмюэль» или «аттомоль». Но не оба
Будучи новым для oracle db, я не уверен, как это реализовать, любая помощь?
Заранее благодарен!
(1) Научитесь использовать явный синтаксис 'JOIN' с предложением' ON'; (2) Запятая ничего не означает в предложении 'WHERE'. –
О, я прав, я попробую ПРИСОЕДИНЯЮТСЯ, хороший намек! – bZhang
Существует два основных стандарта для SQL. Использование 'from t1, t2, где t1.key = t2.key' является законным диалектом внутреннего соединения SQL, используемого oracle. @GordonLinoff ссылается на стандарт ANSI, используя ключевые слова 'JOIN' и' ON1' – Beege