Однотабличные запросы SQL

Делаю индивидуальную работу по однотабличным запросам в БД(поправьте пожалуйста как правильно должно быть, вот что получилось:
Предположим, что есть БД, нужно вывести запросы в формате:
1. Данные о студентах в предоставленном формате:
«XXX гр – студент Фамилия ИМЯ.» У меня получилось:
SELECT 
Upper(s.fk_gruppad_id)) STUD (Lname, 1), Upper(substr(Fname, 1);
FROM STUD S

2.  В каком месяце человек родился:
«Имя Отчество Фамилия - <год рождения>», «родился  <число> в <день недели> .»
SELECT
*
First_name, Middle_name, Last_name
WHERE YEAR(Birthday, weekday)
3.  Вывести список дат сдаваемых экзаменов в зимнюю сессию.
4.  SELECT 
*
DATE_ID when winter exams

4.  Выведите номера групп с 1-го по 3-й курс:
«XXX гр.», «<номер курса>»
SELECT
UPPER(gruppa_ID)
WHERE course = 1 or course = 2 or course = 3;
5.  Вывести список студентов женского пола, которые родились в июне и их отчество не соответствует полу
«Фамилия ИМЯ ОТЧЕСТВО -  YY лет», «<дата рождения>»
SELECT 
Last_name||' '||upper (First_name)||' '||upper (Middle_name)||' - '||
DATEDIFF(YEAR, BIRTHDAY, current_timestamp)||' лет',
Birtday
FROM STUD
WHERE fk_pol_id = 0  and
EXTRACT (month from birthday) = 6 and
mname NOT LIKE '%на'

6.  Вывести информацию о преподавателях и длине их имени. Категория длины имени определяется по следующим правилам:
меньше 4 букв – «короткое»
от 4 до 6 букв – «среднее»
от 6 до 15 букв – «длинное»
больше 15 букв – «гигантское»
«Фамилия Имя», «<длина имени>», «<категория длины имени>»
SELECT 
* 
Lname, Fname, CHAR_LENGTH(Fname),
CASE
WHEN LENGTH(Fname) < 4 THEN 'короткое'
WHEN LENGTH(Fname) = 4 and <=6 THEN 'среднее'
WHEN LENGTH(Fname) = 6 and <=15 THEN 'длинное'
WHEN LENGHT(Fname) > 15 THEN 'гигантское' 
ELSE 'среднее'
END
FROM PREPOD

Ответы (0 шт):