sqlの問題の解答にあるコードの意味を知りたい

実現したいこと

前提

SQLの練習問題を解いていて、

1教科でも30点以下の点数を取った生徒の名前を一覧で表示せよ。
ただし、重複は許さないものとする。

という問題の解答例が以下のコードだったのですが、コードの中にあるerが何を意味するのか分からず、調べても何も情報が出てきませんでした。
私の調べ方がよくないのかもしれませんが、よろしければerが何なのかお教えいただきたいです。

該当のソースコード

SQL

1SELECT DISTINCT2 s.name 3FROM4 exam_results er 5INNER JOIN students s 6 ON er.student_id = s.id 7WHERE8 er.score <= 30

テーブル

CREATE TABLE `students` ( `id` int(4) unsigned zerofill NOT NULL AUTO_INCREMENT PRIMARY KEY, `name` varchar(255) NOT NULL, `gender` varchar(1) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; INSERT INTO `students` (`id`, `name`, `gender`) VALUES (0001, '長岡 一馬', '男'), (0002, '中本 知佳', '女'), (0003, '松本 義文', '男'), (0004, '佐竹 友香', '女'); CREATE TABLE `exam_results` ( `student_id` int(4) unsigned zerofill NOT NULL, `subject` varchar(255) NOT NULL, `score` bigint(20) unsigned NOT NULL, PRIMARY KEY(`student_id`, `subject`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; INSERT INTO `exam_results` (`student_id`, `subject`, `score`) VALUES (0001, '国語', 30), (0001, '英語', 30), (0002, '国語', 70), (0002, '数学', 80), (0003, '理科', 92), (0004, '社会', 90), (0004, '理科', 35), (0004, '英語', 22);

試したこと

”inner join 条件 er ”や
”SELECT DISTINCT s.カラム名 FROM テーブル名 er INNER JOIN カラム名 s ON er.カラム名 = s.カラム名 WHERE er.カラム名 条件式”
などで検索しました。

補足情報(FW/ツールのバージョンなど)

コメントを投稿

0 コメント