-- INNER JOIN: Combine rows with matching criteria
SELECT p.pnumber, p.pname, d.dname, d.location FROM project p INNER JOIN department d ON p.dept_no = d.dnumber;
-- INNER JOIN with multiple tables
SELECT e.fname, e.lname, d.dname, p.pname FROM employee e INNER JOIN department d ON e.dept_no = d.dnumber INNER JOIN assignment a ON e.ssn = a.essn INNER JOIN project p ON a.proj_no = p.pnumber; -- Practical Queries (Based on Assignment)
-- 1. Top 10 oldest professors
SELECT CONCAT(fname, " ", lname) AS Name, (2024 - YEAR(bdate)) AS Age FROM professor ORDER BY Age DESC LIMIT 10;
-- 2. Average GPA of CIS students
SELECT ROUND(AVG(gpa), 2) AS "Average CIS GPA" FROM student WHERE major = "CIS";
-- 3. Count of 3-credit courses for selected departments
SELECT COUNT(*) AS "# of Courses" FROM course WHERE credits = 3 AND dept_code IN ("CIS", "MATH", "BIOL", "ENG");
-- 4. Total students in selected departments
SELECT dept_code, COUNT(*) AS "Total Students" FROM student WHERE dept_code IN ("CIS", "MATH", "BIOL", "ENG") GROUP BY dept_code;