Print the name, dept name, salary of instructors, where the department name should be sorted in descending order and within each department, the instructor names should be sorted in ascending order of salary within that department.
CREATE TABLE "public"."prereq" (
"course_id" varchar(8) NOT NULL,
"prereq_id" varchar(8) NOT NULL,
PRIMARY KEY ("course_id","prereq_id")
);
CREATE TABLE "public"."classroom" (
"building" varchar(15) NOT NULL,
"room_number" varchar(7) NOT NULL,
"capacity" numeric(4,0),
PRIMARY KEY ("building","room_number")
);
CREATE TABLE "public"."student" (
"id" varchar(5) NOT NULL,
"name" varchar(20) NOT NULL,
"dept_name" varchar(20),
"tot_cred" numeric(3,0) CHECK (tot_cred >= (0)::numeric),
PRIMARY KEY ("id")
);
CREATE TABLE "public"."takes" (
"id" varchar(5) NOT NULL,
"course_id" varchar(8) NOT NULL,
"sec_id" varchar(8) NOT NULL,
"semester" varchar(6) NOT NULL,
"year" numeric(4,0) NOT NULL,
"grade" varchar(2),
PRIMARY KEY ("id","course_id","sec_id","semester","year")
);
CREATE TABLE "public"."department" (
"dept_name" varchar(20) NOT NULL,
"building" varchar(15),
"budget" numeric(12,2) CHECK (budget > (0)::numeric),
PRIMARY KEY ("dept_name")
);
CREATE TABLE "public"."time_slot" (
"time_slot_id" varchar(4) NOT NULL,
"day" varchar(1) NOT NULL,
"start_hr" numeric(2,0) NOT NULL CHECK ((start_hr >= (0)::numeric) AND (start_hr < (24)::numeric)),
"start_min" numeric(2,0) NOT NULL CHECK ((start_min >= (0)::numeric) AND (start_min < (60)::numeric)),
"end_hr" numeric(2,0) CHECK ((end_hr >= (0)::numeric) AND (end_hr < (24)::numeric)),
"end_min" numeric(2,0) CHECK ((end_min >= (0)::numeric) AND (end_min < (60)::numeric)),
PRIMARY KEY ("time_slot_id","day","start_hr","start_min")
);
CREATE TABLE "public"."course" (
"course_id" varchar(8) NOT NULL,
"title" varchar(50),
"dept_name" varchar(20),
"credits" numeric(2,0) CHECK (credits > (0)::numeric),
PRIMARY KEY ("course_id")
);
CREATE TABLE "public"."section" (
"course_id" varchar(8) NOT NULL,
"sec_id" varchar(8) NOT NULL,
"semester" varchar(6) NOT NULL CHECK ((semester)::text = ANY (ARRAY[('Fall'::character varying)::text, ('Winter'::character varying)::text, ('Spring'::character varying)::text, ('Summer'::character varying)::text])),
"year" numeric(4,0) NOT NULL CHECK ((year > (1701)::numeric) AND (year < (2100)::numeric)),
"building" varchar(15),
"room_number" varchar(7),
"time_slot_id" varchar(4),
PRIMARY KEY ("course_id","sec_id","semester","year")
);
CREATE TABLE "public"."teaches" (
"id" varchar(5) NOT NULL,
"course_id" varchar(8) NOT NULL,
"sec_id" varchar(8) NOT NULL,
"semester" varchar(6) NOT NULL,
"year" numeric(4,0) NOT NULL,
PRIMARY KEY ("id","course_id","sec_id","semester","year")
);
CREATE TABLE "public"."instructor" (
"id" varchar(5) NOT NULL,
"name" varchar(20) NOT NULL,
"dept_name" varchar(20),
"salary" numeric(8,2) CHECK (salary > (29000)::numeric),
PRIMARY KEY ("id")
);
CREATE TABLE "public"."advisor" (
"s_id" varchar(5) NOT NULL,
"i_id" varchar(5),
PRIMARY KEY ("s_id")
);