학생, 과목 및 학년의 3 개 열이 포함 된 레코드라는 테이블이 있습니다.
표의 각 {x, y, z} 항목은 학생 x가 z 학년으로 y 수업을 들었음을 의미합니다. 학생 x가 y 클래스를 수강하지 않았다면 항목이 테이블에 존재하지 않습니다. 따라서이 표는 모든 학생과 학생이 취한 과목에 대한 대학 기록과 같습니다.
이 과목의 모든 학생의 성적이 60 점 이상이되도록 모든 학생이 수강하는 모든 과목을 선택하고 싶습니다.
나는 테이블을 만들어 보았습니다.
CREATE TABLE temp SELECT subject FROM records WHERE grade > 60;
그런 다음 temp를 사용하여 과목과 개수가있는 새 테이블을 만들었습니다. 여기서 count는 해당 과목을 수강 한 학생 수를 계산 한 다음 count <학생 수인 모든 행을 삭제했습니다. 그러나 이것이 매우 비효율적이라는 것을 알고 있습니다.
MySQL을 사용하여 어떻게 더 효율적으로 할 수 있습니까?
또한 연습 할 수 있도록 좋은 MySQL 리소스 / 튜토리얼 링크를 제공해 주시면 감사하겠습니다. 저는 MySQL을 처음 사용하고 대규모 데이터베이스에서 작업 중이며 쿼리를보다 효율적이고 간단하게 만들어야합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다