From 3dd7d1c57666f9a76d913f66861cdbd955cbeecb Mon Sep 17 00:00:00 2001 From: Imbus <> Date: Thu, 25 Jan 2024 19:40:23 +0100 Subject: [PATCH] Labs --- a.sql | 2 ++ b.sql | 3 +++ c.sql | 3 +++ d.sql | 3 +++ e.sql | 2 ++ f.sql | 3 +++ g.sql | 3 +++ h.sql | 3 +++ i.sql | 4 ++++ j.sql | 4 ++++ k.sql | 4 ++++ l.sql | 5 +++++ m.sql | 4 ++++ makefile | 2 +- n.sql | 7 +++++++ 15 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 a.sql create mode 100644 b.sql create mode 100644 c.sql create mode 100644 d.sql create mode 100644 e.sql create mode 100644 f.sql create mode 100644 g.sql create mode 100644 h.sql create mode 100644 i.sql create mode 100644 j.sql create mode 100644 k.sql create mode 100644 l.sql create mode 100644 m.sql create mode 100644 n.sql diff --git a/a.sql b/a.sql new file mode 100644 index 0000000..bd2b791 --- /dev/null +++ b/a.sql @@ -0,0 +1,2 @@ +select firstName, lastName +from Students \ No newline at end of file diff --git a/b.sql b/b.sql new file mode 100644 index 0000000..a5db20f --- /dev/null +++ b/b.sql @@ -0,0 +1,3 @@ +select firstName, lastName +from Students +order by lastName, firstName \ No newline at end of file diff --git a/c.sql b/c.sql new file mode 100644 index 0000000..1a4b02f --- /dev/null +++ b/c.sql @@ -0,0 +1,3 @@ +select firstName, lastName +from Students +where pNbr like '1975%' \ No newline at end of file diff --git a/d.sql b/d.sql new file mode 100644 index 0000000..ed901c3 --- /dev/null +++ b/d.sql @@ -0,0 +1,3 @@ +select firstName, pNbr +from Students +where substring(pNbr, LENGTH(pNbr) -1, 1) % 2 = 0 \ No newline at end of file diff --git a/e.sql b/e.sql new file mode 100644 index 0000000..3c37edf --- /dev/null +++ b/e.sql @@ -0,0 +1,2 @@ +select distinct pNbr +from Students \ No newline at end of file diff --git a/f.sql b/f.sql new file mode 100644 index 0000000..83cc0ed --- /dev/null +++ b/f.sql @@ -0,0 +1,3 @@ +select courseName +from Courses +where courseCode like '%FMA%' \ No newline at end of file diff --git a/g.sql b/g.sql new file mode 100644 index 0000000..4b56fd6 --- /dev/null +++ b/g.sql @@ -0,0 +1,3 @@ +select courseName +from Courses +where credits > 5 \ No newline at end of file diff --git a/h.sql b/h.sql new file mode 100644 index 0000000..6dbec39 --- /dev/null +++ b/h.sql @@ -0,0 +1,3 @@ +select courseCode +from TakenCourses +where pNbr = '790101-1234' \ No newline at end of file diff --git a/i.sql b/i.sql new file mode 100644 index 0000000..36256ef --- /dev/null +++ b/i.sql @@ -0,0 +1,4 @@ +select courseName, credits, courseCode, pNbr +from Courses +join Students on Students.pNbr +where pNbr = '790101-1234' \ No newline at end of file diff --git a/j.sql b/j.sql new file mode 100644 index 0000000..82e5a28 --- /dev/null +++ b/j.sql @@ -0,0 +1,4 @@ +select sum(credits) as totalSum +from Courses +join Students on Students.pNbr +where pNbr = '790101-1234' \ No newline at end of file diff --git a/k.sql b/k.sql new file mode 100644 index 0000000..bd15b22 --- /dev/null +++ b/k.sql @@ -0,0 +1,4 @@ +select avg(TakenCourses.grade) as averageGrade, Students.pNbr +from TakenCourses +join Students on TakenCourses.pNbr = Students.pNbr +where TakenCourses.pNbr = '790101-1234' \ No newline at end of file diff --git a/l.sql b/l.sql new file mode 100644 index 0000000..aff9606 --- /dev/null +++ b/l.sql @@ -0,0 +1,5 @@ +select avg(TakenCourses.grade) as averageGrade, TakenCourses.courseCode, Courses.courseName, sum(Courses.credits) as totalCredits +from TakenCourses +join Students on TakenCourses.pNbr = Students.pNbr +join Courses on TakenCourses.courseCode = Courses.courseCode +where Students.firstName = 'Eva Alm' \ No newline at end of file diff --git a/m.sql b/m.sql new file mode 100644 index 0000000..f873fd8 --- /dev/null +++ b/m.sql @@ -0,0 +1,4 @@ +select distinct firstName +from Students +left join TakenCourses on Students.pNbr = TakenCourses.pNbr +where TakenCourses.pNbr is null \ No newline at end of file diff --git a/makefile b/makefile index be6bc14..d94f3db 100644 --- a/makefile +++ b/makefile @@ -1,5 +1,5 @@ DB_NAME := lab.db -SQL_FILES := init.sql lab1.sql +SQL_FILES := init.sql lab1.sql a.sql b.sql c.sql d.sql e.sql f.sql g.sql h.sql i.sql j.sql k.sql l.sql m.sql n.sql .PHONY: all clean diff --git a/n.sql b/n.sql new file mode 100644 index 0000000..ad18e43 --- /dev/null +++ b/n.sql @@ -0,0 +1,7 @@ +select Students.firstName, max(averageGrade) as maxAverage +from ( + select Students.pNbr, TakenCourses.grade, avg(grade) as averageGrade + from Students + join TakenCourses on Students.pNbr = TakenCourses.pNbr + group by Students.pNbr +) as studentAverages \ No newline at end of file