[プログラマー][SQL]JOIN
📌 JOIN
[消えた記録を探す]
一部のデータは天災で失われた.養子縁組の記録がありますので、SQL文に記入してID順に保護に入っていない動物のIDと名前を調べてください.
SELECT AO.ANIMAL_ID, AO.NAME
FROM ANIMAL_INS as AI
RIGHT JOIN ANIMAL_OUTS as AO
ON AI.ANIMAL_ID = AO.ANIMAL_ID
WHERE AI.ANIMAL_ID IS NULL
[あるはずなのにない]
管理者のミスで、一部の動物の養子縁組日の入力が間違っています.保護開始日よりも養子縁組日が早い動物のIDと名前を照会するSQL文を記入してください.結果は、保護開始日の遅い順に表示されます.
SELECT AI.ANIMAL_ID, AI.NAME
FROM ANIMAL_INS as AI
JOIN ANIMAL_OUTS as AO
ON AI.ANIMAL_ID = AO.ANIMAL_ID
WHERE AI.DATETIME > AO.DATETIME
ORDER BY AI.DATETIME ASC
[長期保護動物(1)]
まだ養子縁組されていない動物の中で、保護されている最長時間の動物の名前と保護開始日を照会するSQL文を3つ記入してください.結果は保護開始日で表示されます.
SELECT AI.NAME, AI.DATETIME
FROM ANIMAL_INS as AI
LEFT JOIN ANIMAL_OUTS as AO
ON AI.ANIMAL_ID = AO.ANIMAL_ID
WHERE AO.ANIMAL_ID IS NULL
ORDER BY AI.DATETIME ASC
LIMIT 3
[保護所で中性化した動物]
中性化手術を受けた動物の情報を庇護所から知りたい.保護所に入るときは中性化1はありませんが、保護所を出るときは、中性化動物のIDと生物種、名前のID順で調べてくださいSQL文.
-- solution1
SELECT AI.ANIMAL_ID, AI.ANIMAL_TYPE, AO.NAME
FROM ANIMAL_INS as AI
JOIN ANIMAL_OUTS as AO
ON AI.ANIMAL_ID = AO.ANIMAL_ID
WHERE AI.SEX_UPON_INTAKE != AO.SEX_UPON_OUTCOME AND
AI.SEX_UPON_INTAKE LIKE 'Intact%'
-- solution2
SELECT AI.ANIMAL_ID, AI.ANIMAL_TYPE, AO.NAME
FROM ANIMAL_INS as AI
JOIN ANIMAL_OUTS as AO
ON AI.ANIMAL_ID = AO.ANIMAL_ID
WHERE AI.SEX_UPON_INTAKE LIKE 'Intact%' AND (
AO.SEX_UPON_OUTCOME LIKE 'Spayed%' | or AO.SEX_UPON_OUTCOME LIKE 'Neutered%'
)
Reference
この問題について([プログラマー][SQL]JOIN), 我々は、より多くの情報をここで見つけました https://velog.io/@insutance/프로그래머스SQL-JOINテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol