EXPLAIN EXTENDED SELECT * FROM students ORDER BY (SELECT VALUE FROM gpas WHERE gpas.student_id = students.id LIMIT 1) DESC\G
*************************** 1. ROW ***************************
id: 1
select_type: PRIMARY
TABLE: students
TYPE: ALL
possible_keys: NULL
KEY: NULL
key_len: NULL
REF: NULL
ROWS: 13
filtered: 100.00
Extra: USING filesort
*************************** 2. ROW ***************************
id: 2
select_type: DEPENDENT SUBQUERY
TABLE: gpas
TYPE: REF
possible_keys: index_gpas_on_student_id
KEY: index_gpas_on_student_id
key_len: 5
REF: students_development.students.id
ROWS: 1
filtered: 100.00
Extra: NULL
2 ROWS IN SET, 2 warnings (0.00 sec)
SHOW WARNINGS\G
*************************** 1. ROW ***************************
Level: Note
Code: 1276
Message: FIELD OR reference 'students_development.students.id' OF SELECT #2 was resolved IN SELECT #1
*************************** 2. ROW ***************************
Level: Note
Code: 1003
Message: /* select#1 */ SELECT `students_development`.`students`.`id` AS `id`,`students_development`.`students`.`name` AS `name`,`students_development`.`students`.`email` AS `email`,`students_development`.`students`.`created_at` AS `created_at`,`students_development`.`students`.`updated_at` AS `updated_at` FROM `students_development`.`students` ORDER BY (/* select#2 */ SELECT `students_development`.`gpas`.`value` FROM `students_development`.`gpas` WHERE (`students_development`.`gpas`.`student_id` = `students_development`.`students`.`id`) LIMIT 1) DESC
2 ROWS IN SET (0.00 sec)