前提・実現したいこと
sqlでselect構文を用い、特定の条件を持った要素を取り出したい。
sqlの初学者です。
練習で名前、職業や年収データの入ったデータベースから、select構文を用いてdesignerが存在している部署を呼び出そうと試みているがうまくいきません。
コードに間違いがあればぜひ教えていただきたいです。
データベース
CREATE TABLE Table1 (id int, name varchar2(7), dt timestamp, sex varchar2(6)) ; INSERT ALL INTO Table1 (id, name, dt, sex) VALUES (1, 'takuya', '01-Oct-2017 12:00:00 AM', 'male') INTO Table1 (id, name, dt, sex) VALUES (2, 'fumi', '01-Apr-2018 12:00:00 AM', 'female') INTO Table1 (id, name, dt, sex) VALUES (3, 'ayaka', '01-Oct-2018 12:00:00 AM', 'female') INTO Table1 (id, name, dt, sex) VALUES (4, 'yota', '23-Oct-2018 12:00:00 AM', 'male') INTO Table1 (id, name, dt, sex) VALUES (5, 'shinya', '02-Nov-2018 12:00:00 AM', 'male') INTO Table1 (id, name, dt, sex) VALUES (6, 'miku', '01-Jan-2019 12:00:00 AM', 'female') INTO Table1 (id, name, dt, sex) VALUES (7, 'toshiki', '10-Mar-2019 12:00:00 AM', 'male') SELECT * FROM dual ; CREATE TABLE Table2 (devnum int, id2 int, job varchar2(8), age int, money int) ; insert all into table2 (devnum,id2, job, age, money) VALUES (10, 1, 'manager', 28, 5000000) into table2 (devnum,id2, job, age, money) VALUES (10, 2, 'manager', 23, 5600000) into table2 (devnum,id2, job, age, money) VALUES (20, 3, 'engineer', 25, 8000000) into table2 (devnum,id2, job, age, money) VALUES (20, 4, 'engineer', 22, 5200000) into table2 (devnum,id2, job, age, money) VALUES (10, 5, 'sales', 32, 3500000) into table2 (devnum,id2, job, age, money) VALUES (20, 6, 'sales', 37, 5000000) into table2 (devnum,id2, job, age, money) VALUES (30, 7, 'designer', 18, 5500000) select * from dual ;
該当のソースコード
select devnum from table2 where exists( select * from table2 where job = 'designer');
###回答
DEVNUM 10 10 20 20 10 20 30
これが30のみになれば正しい。
補足情報(FW/ツールのバージョンなど)
sql fiddleのoracle 11g r2で試しています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。