私は2つのテーブルをマージしようとしています。 A student
テーブルとdepartment
テーブルがありますが、学生がいない部門は失いたくありません。 NATURAL JOIN
を使用すると、主キーがDEPT_ID
であり、一部の部門には生徒がいないため、それらが失われます。そのため、マージされたテーブルには表示されません。私はあまりにも幸運を持っていないテーブルをマージする別の方法を見てみました。どのようにSQLの行を失うことなく2つのテーブルをマージできますか?
私の試み:
SELECT DEPT_NAME,
COUNT(DISTINCT STUDENT_ID) AS NumberOfStudentsInDepartment
FROM Students RIGHT JOIN Departments
GROUP BY DEPT_NAME
ORDER BY 2 DESC, 1 ASC;
に参加しましょう、おそらく "左は参加しますか"?私が "マージ"を誤解しない限り、あなたは意味します。いくつかのコードを提供しておけば助けになります。 – Reisclef
'natural join'を使用している場合は、SQL Serverを使用していません。タグを削除しました。 –