CREATE TABLE Student_Course_Registrations (student_id INT, course_id INT, registration_date DATETIME)
CREATE TABLE People_Addresses (person_address_id INT, person_id INT, address_id INT, date_from DATETIME, date_to DATETIME)
CREATE TABLE Candidates (candidate_id INT, candidate_details VARCHAR)
CREATE TABLE Courses (course_id VARCHAR, course_name VARCHAR, course_description VARCHAR, other_details VARCHAR)
CREATE TABLE Candidate_Assessments (candidate_id INT, qualification CHAR, assessment_date DATETIME, asessment_outcome_code CHAR)
CREATE TABLE Students (student_id INT, student_details VARCHAR)
CREATE TABLE People (person_id INT, first_name VARCHAR, middle_name VARCHAR, last_name VARCHAR, cell_mobile_number VARCHAR, email_address VARCHAR, login_name VARCHAR, password VARCHAR)
CREATE TABLE Addresses (address_id INT, line_1 VARCHAR, line_2 VARCHAR, city VARCHAR, zip_postcode CHAR, state_province_county VARCHAR, country VARCHAR)
CREATE TABLE Student_Course_Attendance (student_id INT, course_id INT, date_of_attendance DATETIME)

How many registed students do each course have? List course name and the number of their registered students, and could you display by the the total number in descending?
SELECT course_name, COUNT(*) FROM Students AS T1 JOIN Student_Course_Registrations AS T2 ON T1.student_id = T2.student_id JOIN Courses AS T3 ON T2.course_id = T3.course_id GROUP BY T2.course_id ORDER BY COUNT(*) DESC
SELECT "course_name", COUNT(*) FROM "Students" AS "T1" JOIN "Student_Course_Registrations" AS "T2" ON "T1"."student_id" = "T2"."student_id" JOIN "Courses" AS "T3" ON "T2"."course_id" = "T3"."course_id" GROUP BY "T2"."course_id" ORDER BY COUNT(*) DESC NULLS LAST