Загрузка данных


-- 1. Преподаватель, преподающий конкретную дисциплину
SELECT Prepodavatel
FROM predmeti11
WHERE Nazvanie = N'Базы данных';


-- 2. Фамилия и телефон студентов заданного курса
-- и определенной группы здоровья
SELECT Familiya, Telephon
FROM student11
WHERE Kurs = 3
  AND Gruppa_Zdorovya = N'основная';


-- 3. ФИО студента
SELECT
    Familiya + N' ' + Imya AS [ФИО студента]
FROM student11;


-- 4. Адрес студента
SELECT
    Familiya,
    Imya,
    Ulica + N', д. ' + CAST(Dom AS NVARCHAR(10))
          + N' кв. ' + CAST(Kvartira AS NVARCHAR(10))
          AS [Адрес студента]
FROM student11;


-- 5. Фамилия, имя и год рождения
SELECT
    Familiya,
    Imya,
    YEAR(Data) AS [Год рождения]
FROM student11;


-- 6. ФИО, адрес и возраст
SELECT
    Familiya + N' ' + Imya AS [ФИО],

    Ulica + N', д. ' + CAST(Dom AS NVARCHAR(10))
          + N' кв. ' + CAST(Kvartira AS NVARCHAR(10))
          AS [Адрес],

    DATEDIFF(YEAR, Data, GETDATE())
    - CASE
        WHEN DATEADD(YEAR, DATEDIFF(YEAR, Data, GETDATE()), Data) > GETDATE()
        THEN 1
        ELSE 0
      END AS [Возраст]

FROM student11;


-- 7. Фамилия, адрес и телефон студентов младше 18 лет
SELECT
    Familiya,

    Ulica + N', д. ' + CAST(Dom AS NVARCHAR(10))
          + N' кв. ' + CAST(Kvartira AS NVARCHAR(10))
          AS [Адрес],

    Telephon

FROM student11
WHERE
    DATEDIFF(YEAR, Data, GETDATE())
    - CASE
        WHEN DATEADD(YEAR, DATEDIFF(YEAR, Data, GETDATE()), Data) > GETDATE()
        THEN 1
        ELSE 0
      END < 18;


-- 8. Фамилия и имя студентов,
-- день рождения которых в текущем месяце
SELECT
    Familiya,
    Imya
FROM student11
WHERE MONTH(Data) = MONTH(GETDATE());


-- 9. Фамилия и имя студентов,
-- родившихся в конкретном году
SELECT
    Familiya,
    Imya
FROM student11
WHERE YEAR(Data) = 2006;