select WORK_TYPE, count(distinct A_2.WORK_NAME) from A_2 group by WORK_TYPE

Вопрос: Вывести перечень типов работ подготовленных студентом Петровым

select distinct A_2.WORK_TYPE from A_1,A_2 where A_1.FIO=A_2.FIO and A_1.FIO='Петров'

Вопрос: Выбрать количество представленных работ типа 'УИРС'

select count(distinct A_2.WORK_NAME) from A_2 where A_2.WORK_TYPE ='УИРС'

Вывести список студнтов, которые подготовили работы типа УИРС

select distinct A_2.FIO from A_2 where A_2.WORK_TYPE ='УИРС'

Вопрос: Вывести список факультетов, студенты которых подготовили всего 5 работ.

select FACKULTET from A_1, A_2, A_4 where A_1.FIO=A_2.FIO and A_1.GROUP_NUM=A_4.GROUP_NUM group by FACKULTET having count(distinct WORK_NAME)=5

Вывести факультет, на котором учится группа 32

SELECT FACKULTET FROM A_4 WHERE A_4.GROUP_NUM='325'

\Выберите группы, в которых на настоящий момент учится только 1 студент.

select GROUP_NUM from A_1 group by GROUP_NUM having count(FIO)=1

Вопрос: Вывести количество студентов, которые учатся в группе 4909

select count(*) from A_1 where A_1.GROUP_NUM ='4909'

Вопрос: Найти группу студента Сидорова

select A_1.GROUP_NUM from A_1 where A_1.FIO ='Сидоров'

работытолькодвухтипов

select group num from a1 a2 where a1.fio=a2.fio group by group numhavingcount ( distinct work type)=2

Вопрос: Выбрать работы подготовленные не студентом 'Петров'

select WORK_NAME from A_2 where FIO<>'Петров'

Вопрос: Вывести список групп, студенты которых подготовили несколько видов работ.

select distinct GROUP_NUM from A_1,A_2 where A_1.FIO=A_2.FIO and A_2.FIO in (select a.FIO from A_2 a,A_2 b where a.FIO=b.FIO and a.WORK_TYPE<>b.WORK_TYPE )

никто не учится

in a4 not in a1

рос: Вывести перечень типов работ, за которые начисляется более 20 баллов

select WORK_TYPE from A_3 where POINTS_QUANTITY>20

Найти факультеты, студенты которых подготовили статьи (тип работы 'статья').

SELECT FACKULTET FROM A_4,A_1,A_2 WHERE A_4.GROUP_NUM=A_1.GROUP_NUM AND A_1.FIO=A_2.FIO AND A_2.WORK_TYPE='статья' GROUP BY FACKULTET

Вопрос: Список групп,в которых учится меньше всего студентов

select GROUP_NUM from A_1 group by GROUP_NUM having count(FIO)<= all(select count(FIO) from A_1 group by GROUP_NUM)

Вопрос: Вывестисписокстудентов, подготовившихнесколькоработ

select distinct a.FIO from A_2 a,A_2 b where a.FIO=b.FIO and a.WORK_NAME<>b.WORK_NAME

Вопрос: Список студентов, которые подготовили работы только в соавторстве с другими студентами.

select distinct a.FIO from A_2 a,A_2 b where a.WORK_NAME=b.WORK_NAME and a.FIO<>b.FIO

Вопрос: Список студентов, которые подготовили несколько (более одной) программы, программа - это тип работы

select distinct a.FIO from A_2 a,A_2 b where a.FIO=b.FIO and a.WORK_NAME<>b.WORK_NAME and a.WORK_TYPE=b.WORK_TYPE and a.WORK_TYPE='программа'

Вопрос: Список работ, подготовленных только одним автором (студентом).

select WORK_NAME from A_2 where WORK_NAME not in (select a.WORK_NAME from A_2 a, A_2 b where a.WORK_NAME=b.WORK_NAME and a.FIO<>b.FIO)

Вывести количество работ, подготовленных студентами группы 4909 на конкурс

select count(*) from A_1, A_2 where A_2.FIO=A_1.FIO and A_1.GROUP_NUM=4909

Вопрос: Вывести список типов работ, подготовленных студентами группы 4909

select distinct WORK_TYPE from A_1, A_2 where A_2.FIO=A_1.FIO and A_1.GROUP_NUM=4909

Список групп, студенты которых представили несколько работ типа 'макет'.

select distinct A_1.GROUP_NUM from A_1, A_2 a, A_2 b where a.WORK_TYPE=b.WORK_TYPE and a.WORK_TYPE='макет' and a.WORK_NAME<>b.WORK_NAME and a.FIO=A_1.FIO

Список групп, студенты которых подготовили несколько типов (видов) работ на конкурс. Не обязательно, чтобы один студент подготовил несколько видов работ, необходимо, чтобы на группу приходилось более одного типа (вида) работ.

select distinct A_1.GROUP_NUM from A_1, A_2 where A_2.FIO=A_1.FIO group by GROUP_NUM having count(distinct WORK_TYPE)>1

Вывести список групп, студенты которых подготовили только 1 тип работ, например, несколько студентов из одной группы подготовили программы, остальные студенты из этой группы ничего не подготовили, но никто из этой группы не подготовил другой тип работы.

select distinct A_1.GROUP_NUM from A_1, A_2 where A_2.FIO=A_1.FIO group by GROUP_NUM having count(distinct WORK_TYPE)=1

Список студентов, которые подготовили несколько работ типа макет

select distinct a.FIO from B_4 a, B_4 b where a.FIO=b.FIO and a.WORK_TYPE=b.WORK_TYPE and a.WORK_TYPE='макет' and a.WORK_NAME<>b.WORK_NAME

Вывести список факультетов, на которых ни один студент не подготовил ни одной работы

select FACKULTET from A_4 where FACKULTET not in (select FACKULTET from A_2, A_1, A_4 where A_1.GROUP_NUM=A_4.GROUP_NUM and A_1.FIO= A_2.FIO)

Вывести список групп, в которых учится только два студента

SELECT GROUP_NUM FROM A_1 GROUP BY GROUP_NUM HAVING COUNT(*)=2

Выберите группы, в которых на настоящий момент учится только 1 студент.

SELECT GROUP_NUM FROM A_1 GROUP BY GROUP_NUM HAVING COUNT(*)=1

Вывести номер группы,в которой учится студент Васильев

SELECT GROUP_NUM FROM A_1 WHERE A_1.FIO="Васильев"

Вывести названия работ, подготовленных студентами Сидоровым и Петровым (не обязательно вместе)

SELECT WORK_NAME FROM A_2 WHERE A_2.FIO="Сидоров" OR A_2.FIO="Петров"

Вывести факультет, на котором учится группа 325

SELECT FACKULTET FROM A_4 WHERE A_4.GROUP_NUM='325'

Найти факультеты, студенты которых подготовили статьи (тип работы 'статья').

SELECT FACKULTET FROM A_4,A_1,A_2 WHERE A_4.GROUP_NUM=A_1.GROUP_NUM AND A_1.FIO=A_2.FIO AND A_2.WORK_TYPE='статья' GROUP BY FACKULTET

Вывести количество студентов, которые учатся в группе 4909

SELECT COUNT(*) FIO FROM A_1 WHERE A_1.GROUP_NUM="4909"

список групп студенты которых, подготовили работы только двух типов

SELECT GROUP_NUM FROM A_1,A_2 WHERE A_1.FIO=A_2.FIO GROUP BY GROUP_NUM HAVING COUNT(DISTINCT WORK_TYPE)=2

Вывести список студентов, подготовивших несколько работ

SELECT FIO FROM A_2 GROUP BY FIO HAVING COUNT(*)>1

Вопрос: Выбрать количество групп на четвертом факультете (Факультет=4)

select count(*) from A_4 where A_4.FACKULTET ='4'

Вопрос:Выбрать группы, в которых никто не учиться

Select group_num from a4 where group_num not in (select group_num from a1)

Вопрос: Вывести названия работ типа 'УИРС' и 'программа'

select WORK_NAME from A_2 where WORK_TYPE = 'УИРС' or WORK_TYPE = 'программа'

Найти факультеты, студенты которых подготовили статьи (тип работы 'статья').
SELECT FACKULTET FROM A_4,A_1,A_2 WHERE A_4.GROUP_NUM=A_1.GROUP_NUM AND A_1.FIO=A_2.FIO AND A_2.WORK_TYPE='статья' GROUP BY FACKULTET

Вывести список групп с указанием количества статей (тип работы 'статья') подготовленных студентами данной группы.

select GROUP_NUM, COUNT(WORK_NAME) from A_1, A_2 where A_1.FIO = A_2.FIO and WORK_TYPE ='статья' group by GROUP_NUM

Вопрос: Список групп, в которых есть студенты, не представившие работы на конкурс

select distinct GROUP_NUM from A_1 where FIO not in (select distinct FIO from A_2)

Вопрос: Список работ, подготовленных только студентами 4-го факультета.

select distinct WORK_NAME from A_2 where WORK_NAME not in (select WORK_NAME from A_2, A_1, A_4 where A_2.FIO=A_1.FIO and A_1.GROUP_NUM=A_4.GROUP_NUM and FACKULTET<>4)

Вопрос:

Вывести список факультетов с указанием количества студентов данного факультета, которые принимали участие в конкурсе студенческих работ. Факультеты, на которых не было подготовлено ни одной работы не должны входить в результирующий список.

select FACKULTET, count(distinct FIO) from A_4, A_1 where A_4.GROUP_NUM=A_1.GROUP_NUM and FIO in (select FIO from A_2) group by FACKULTET

 

Даны отношения, моделирующие конкурс исследовательских работ студентов. Отношение B_3 содержит общий список кафедр с указанием к какому факультету они относятся. В отшение B_2 указаны выпускающие кафедры каждой группы. Необходимо учитывать следующие ограничения: номер группы однозначно определяет выпускающую кафедру. Студенты не обязательно могут готовить работы по своей выпускающей кафедре. В общем случае одна работа может быть подготовлена несколькими студентами и один студент может подготовить несколько работ. Не все студенты готовят исследовательские работы.

B_1
FIO (ФИО студента)
GROUP_NUM (Номер группы)
COURSE (Курс)

B_2
GROUP_NUM (Номер группы)
KAFEDRA (Кафедра)

B_3
KAFEDRA (Кафедра)
FACKULTET (Факультет)

B_4
WORK_NAME (Название работы)
FIO (ФИО студента)
WORK_TYPE (Вид работы)
KAFEDRA (Кафедра)

B_5
WORK_TYPE (Вид работы)
POINTS_QUANTITY (Количество баллов)

Вопрос: Вывести список студентов группы 3

select distinct B_1.FIO from B_1 where B_1.GROUP_NUM='3'

Список студентов, которые подготовили работы типа макет

SELECT FIO FROM B_4 WHERE B_4.WORK_TYPE="макет" GROUP BY FIO

Вопрос: Вывести список групп, студенты которых подготовили несколько статей

select GROUP_NUM from B_1, B_4 where B_1.FIO = B_4.FIO and WORK_TYPE = 'статья' group by GROUP_NUM having COUNT(*) > 1

Вопрос: Список студентов, которые подготовили несколько работ разных видов

select FIO from B_4 group by FIO having COUNT(distinct WORK_TYPE) > 1 and COUNT(WORK_NAME) >1

Список студентов, которые представили только одну работу на конкурс.

SELECT FIO FROM B_4 GROUP BY FIO HAVING COUNT(*)=1

Вопрос: Список студентов, которые подготовили несколько работ (участвовали в подготовке нескольких работ).

select distinct a.FIO from A_2 a,A_2 b where a.FIO=b.FIO and a.WORK_NAME<>b.WORK_NAME

Вопрос: Вывести выпускающую кафедру для группы 4

SELECT KAFEDRA FROM B_2 WHERE GROUP_NUM='4'

Список факультетов, на которых было подготовлено более трех конкурсных работ

SELECT FACKULTET FROM B_3,B_4 WHERE B_3.KAFEDRA=B_4.KAFEDRA GROUP BY FACKULTET HAVING COUNT(*)>3

Список студентов, которые подготовили работы типа макет

SELECT FIO FROM B_4 WHERE B_4.WORK_TYPE="макет" GROUP BY FIO

ЕСЛИ НЕСКОЛЬКО ТО

SELECT FIO FROM B_4 WHERE B_4.WORK_TYPE="макет" GROUP BY FIO HAVING COUNT(*)>1

Вывести содержимое таблицы B_2

SELECT * FROM B_2

Список факультетов, на которых было подготовлено более трех конкурсных работ

SELECT FACKULTET FROM B_3,B_4 WHERE B_3.KAFEDRA=B_4.KAFEDRA GROUP BY FACKULTET HAVING COUNT(*)>3

Список студентов, которые участвовали в подготовке работ Марс2 и Поиск1. Не обязательно один студент участвовал в подготовке и той и другой работе, но в списке вывода фамилия каждого студента должна присутствовать только один раз.

SELECT DISTINCT FIO FROM B_4 WHERE B_4.WORK_NAME='Марс2' OR B_4.WORK_NAME='Поиск1'

Вопрос: Список студентов первого курса, которые представили работы на конкурс

select distinct B_1.FIO from B_1,B_4 where B_1.FIO =B_4.FIO and B_1.COURSE='1'

Вывести содержимое таблицы B_2

select * from B_2

Список студентов, которые подготовили несколько работ типа макет

select FIO from B_4 where B_4.WORK_TYPE='макет' group by FIO having count(distinct WORK_NAME)>1

Вопрос: Вывести список групп первого курса

select distinct B_1.GROUP_NUM from B_1 where B_1.COURSE ='1'

вподготовкемарсилипоиск

select distinct fio from b4 where b4.work name=’mars’ or b4.workname=’poisk’

Список групп, студенты которых участвовали в подготовке работы Марс1

select distinct GROUP_NUM from B_1,B_4 where B_1.FIO=B_4.FIO and B_4.WORK_NAME='Марс1'

Вопрос: Вывести список групп, студенты которых подготовили по одной работе типа макет. В общем они могли подготовить и другие типы работ, но работ типа макет всего только одну.

select GROUP_NUM from B_1,B_4 where B_1.FIO =B_4.FIO and B_4.WORK_TYPE='макет' group by GROUP_NUM having count (distinct WORK_NAME)=1

Вопрос: Список студентов, которые представили на конкурс несколько работ, но только одного вида.

select distinct a.FIO from B_4 a, B_4 b where a.FIO=b.FIO and a.WORK_TYPE=b.WORK_TYPE and a.WORK_NAME<>b.WORK_NAME

Вывести список статей, представленных студенткой Архиповой

SELECT WORK_NAME FROM B_4 WHERE B_4.FIO="Архипова"

Вопрос: Вывести список типов работ, которые подготовили студенты группы 1

select WORK_TYPE from B_1,B_4 where B_1.FIO=B_4.FIO and B_1.GROUP_NUM=1

Вопрос: Вывести список студентов, которые подготовили работы в соавторстве

selecta.FIO from B_4 a,B_4 b where a.WORK_NAME=b.WORK_NAME and a.FIO<>b.FIO

Вопрос: Список факультетов, на которых не было подготовлено ни одной работы. (Все кафедры которых не представили ни одной работы)

select FACKULTET from B_3 where B_3.FACKULTET not in (select FACKULTET from B_3,B_4 where B_3.KAFEDRA=B_4.KAFEDRA)

Вопрос: Список кафедр, по которым не было подготовлено ни одной студенческой работы

select KAFEDRA from B_3 where B_3.KAFEDRA not in (select KAFEDRA from B_4)

Вопрос: Список студентов, которые представили только одну работу на конкурс.

select distinct FIO from B_4 where FIO not in ( select a.FIO from B_4 a,B_4 b where a.FIO=b.FIO and a.WORK_NAME<>b.WORK_NAME)

Вывести список работ, которые подготовили несколько студентов, обучающихся в одной группе.

select WORK_NAME from B_4 where B_4.FIO = B_1.FIO group by WORK_NAME having COUNT(FIO) > 1 and COUNT(distinct GROUP_NUM ) = 1

Вопрос: Список групп, студенты которых участвовали в подготовке работы Марс1

select distinct GROUP_NUM from B_1,B_4 where B_1.FIO=B_4.FIO and B_4.WORK_NAME='Марс1'

Вопрос: Вывести список типов работ, которые подготовили студенты группы 1

select WORK_TYPE from B_1,B_4 where B_1.FIO=B_4.FIO and B_1.GROUP_NUM=1

Вопрос: Список студентов, которые представили только одну работу на конкурс.

select distinct FIO from B_4 where FIO not in ( select a.FIO from B_4 a,B_4 b where a.FIO=b.FIO and a.WORK_NAME<>b.WORK_NAME)

Вопрос: Список студентов первого курса, которые представили работы на конкурс

select distinct B_1.FIO from B_1,B_4 where B_1.FIO =B_4.FIO and B_1.COURSE='1'

Вопрос: Вывести список групп первого курса

select distinct B_1.GROUP_NUM from B_1 where B_1.COURSE ='1'

 

База данных содержит сведения о текущей сессии. Таблицы C_1 содержит список студентов с указанием уникальных номеров их зачеток. В списке студентов могут присутствовать однофамильцы. В таблице C_2 коды специальностей, названия специальностей и номера групп, которые учатся по данным специальностям. В таблице C_3 находится перечень дисциплин, которые каждая специальность должна сдавать в текущую сесиию. В таблице C_4 находится результаты текущей сессии, т.е. список номеров зачетных книжек с указанием когда какую дисциплину и на какую оценку сдал обладатель данной зачетной книжки. Если студент не делал попытки сдавать экзамен, то данной записи нет в таблице C_4.

C_1
FIO (ФИО студента)
N_GROUP (Номер группы)
N_ZACH (Номер зачетки)

C_2
KOD (Код)
SPECIALITY (Специальность)
N_GROUP (Номер группы)

C_3
KOD (Код)
DISCIPLIN (Дисциплина)

C_4
N_ZACH (Номер зачетки)
DISCIPLINE (Дисциплина)
DATA_EX (Дата экзамена)
MARK (Оценка)

Вопрос: Вывести содержимое таблицы C_1

select * from C_1

Вывести список номеров зачетных книжек студентов, которые во время сдачи экзаменов получили тройки

select distinct N_ZACH from C_4 where MARK=3

Вопрос:

Вывести список студентов с указанием количества экзаменов, которые каждый студент сдал на положительные оценки во время сессии. Среди студентов могут быть однофамильцы

select FIO, count(distinct DISCIPLINE) from C_1, C_4 where C_1.N_ZACH=C_4.N_ZACH and MARK>=3 group by C_1.N_ZACH, FIO

Перечень дисциплин, по которым были получены двойки во время сесcии

SELECT DISCIPLINE FROM C_4 WHERE C_4.MARK=2 GROUP BY DISCIPLINE

Вопрос: Список студентов, которые не сдали ни одного экзамена в текущую сессию. (Они могли делать попытки сдачи, но все попытки били нерезультативными или они вообще не пытались сдавать что-либо)

select C_1.FIO

from C_1

where C_1.N_ZACH NOT IN (select C_4.N_ZACH

from C_4 where Mark > 2)

Вопрос: Список студентов, которые все, что сдавали сдали на отлично и причем с первого раза.

select distinct FIO from C_1, C_4 where C_1.N_ZACH = C_4.N_ZACH and MARK = 5 and C_4.N_ZACH not in (select N_ZACH from C_4 where MARK <> 5 )

Вопрос: Список студентов, которые сдали какие-то экзамены на 3 или 4, но ни одноо экзамена не сдали на 5

select distinct FIO from C_1, C_4 where C_1.N_ZACH = C_4.N_ZACH and MARK in (3,4) and C_4.N_ZACH not in (select N_ZACH from C_4 where MARK=5 )

Вопрос: Вывест список студентов и их номеров зачётных книжек с указанием количества количества сданных экзаменов

select fio,n/zach,count(*) from c1,c4 where c1.nzach=c4.nzach and c4.mark>2 group by fio,nzach

 

Список студентов, которые сдали все экзамены на отлично. (не обязательно они сдали все требуемые экзамены, но те, которые они сдали - они сдали только на отлично)

SELECT FIO FROM C_1,C_4 WHERE C_1.N_ZACH=C_4.N_ZACH AND C_4.MARK=5 AND FIO NOT IN (SELECT FIO FROM C_1,C_4 WHERE C_1.N_ZACH=C_4.N_ZACH AND C_4.MARK<>5)

Вопрос: Перечень специальностей, по которым ведется подготовка в ВУЗе.

select distinct C_2.SPECIALITY from C_2

Перечень специальностей, по которым учится только одна группа

SELECT SPECIALITY FROM C_2 GROUP BY SPECIALITY HAVING COUNT(*)=1

Вывести фамилию студента, который имеет зачетку с номером 0012

SELECT FIO FROM C_1 WHERE C_1.N_ZACH='0012'

Вывести список однофамильцев

SELECT FIO FROM C_1 GROUP BY FIO HAVING COUNT(*)>1

Вопрос: Вывести список дисциплин, по которым сдавались экзамены в сессию

select distinct C_4.DISCIPLINE from C_4

Вопрос: Вывести список студентов группы 4907, которые не сдавали еще экзаменов

select C_1.FIO from C_1 where C_1.N_GROUP ='4907' and C_1.N_ZACH not in (select C_1.N_ZACH from C_1, C_4 where C_1.N_ZACH=C_4.N_ZACH)

Вопрос: Вывести список студентов и их номеров зачетных книжек с указанием количества сданных ими на положительные оценки экзаменов.

select C_1.N_ZACH, FIO, count(distinct DISCIPLINE) from C_1, C_4 where C_1.N_ZACH=C_4.N_ZACH and MARK>=3 group by C_1.N_ZACH, FIO

Вопрос: Список специальностей, по которым учится несколько групп

select distinct a.SPECIALITY from C_2 a,C_2 b where a.SPECIALITY=b.SPECIALITY and a.N_GROUP<>b.N_GROUP

Вопрос: Список дисциплин, по которым назначены экзамены у нескольких специальностей

select distinct a.DISCIPLIN from C_3 a, C_3 b where a.KOD<>b.KOD and a.DISCIPLIN =b.DISCIPLIN

и 3 и 4 и только эти 2 оценки

select FIO from C_1,C_4 a, C_4 b where C_1.N_ZACH= a.N_ZACH and a.N_ZACH=b.N_ZACH and a.MARK=3 and b.MARK=4

Список студентов, которые имеют одну тройку и одну четверку среди своих оценок. (У них могут быть и другие оценки, но только одна тройка и только одна 4)

select FIO from C_1,C_4 a, C_4 b where C_1.N_ZACH= a.N_ZACH and a.N_ZACH=b.N_ZACH and a.MARK=3 and b.MARK=4 group by FIO having count(*)=1

Список студентов, у которых есть оценки отлично, но есть и другие оценки кроме пятерок.

select FIO from C_1,C_4 a, C_4 b where C_1.N_ZACH= a.N_ZACH and a.N_ZACH=b.N_ZACH and a.MARK=5 and b.MARK<>5

Вопрос: Перечень дисциплин, по которым были получены двойки во время сесcии

select distinct DISCIPLINE from C_4 where MARK=2

Вопрос: Выведите количество специальностей по которым учатся группы 4908 и 8021.

select count(*) from C_2 where C_2.N_GROUP='4908' or C_2.N_GROUP='8021'

Вопрос: Вывести список групп с указанием количества студентов, которые учатся в каждой группе.

select N_GROUP, count(*) from C_1 group by N_GROUP

Вопрос: Вывести количество студентов, которые учатся в группе 4908

select count(*) from C_1 where N_GROUP=4908

Вопрос: Вывести перечeнь дисциплин, по которым есть студенты пересдавшие экзамен на положительную оценку.

select distinct a.DISCIPLINE from C_4 a, C_4 b where a.N_ZACH=b.N_ZACH and a.DATA_EX<>b.DATA_EX and b.MARK>=3 and a.DISCIPLINE=b.DISCIPLINE

Вопрос: Перечень дисциплин, по которым не было получено двоек во время сессии

select distinct DISCIPLINE from C_4 where DISCIPLINE not in (select DISCIPLINE from C_4 where MARK=2)

Вопрос: Вывести список студентов, которым необходимо в сессию сдавать экзамен по дисциплине 'БД'

select C_1.FIO from C_1, C_2, C_3 where C_1.N_GROUP = C_2.N_GROUP and C_2.KOD=C_3.KOD and C_3.DISCIPLIN='БД'

Список дисциплин, по которым назначены экзамены у нескольких специальностей

select distinct a.DISCIPLIN from C_3 a, C_3 b where a.KOD<>b.KOD and a.DISCIPLIN =b.DISCIPLIN

Вопрос: Список специальностей, по которым учится несколько групп

select distinct a.SPECIALITY from C_2 a,C_2 b where a.SPECIALITY=b.SPECIALITY and a.N_GROUP<>b.N_GROUP

Вопрос: Вывести список групп с указанием количества студентов, которые учатся в каждой группе.

select N_GROUP, count(*) from C_1 group by N_GROUP

Вопрос: Вывести перечeнь дисциплин, по которым есть студенты пересдавшие экзамен на положительную оценку.

select distinct a.DISCIPLINE from C_4 a, C_4 b where a.N_ZACH=b.N_ZACH and a.DATA_EX<>b.DATA_EX and b.MARK>=3 and a.DISCIPLINE=b.DISCIPLINE

Вопрос: Перечень дисциплин, по которым не было получено двоек во время сессии

select distinct DISCIPLINE from C_4 where DISCIPLINE not in (select DISCIPLINE from C_4 where MARK=2)

Вопрос: Вывести список студентов группы 4907, которые не сдавали еще экзаменов

select C_1.FIO from C_1 where C_1.N_GROUP ='4907' and C_1.N_ZACH not in (select C_1.N_ZACH from C_1, C_4 where C_1.N_ZACH=C_4.N_ZACH)

Вопрос: Список дисциплин, по которым назначены экзамены у нескольких специальностей

select distinct a.DISCIPLIN from C_3 a, C_3 b where a.KOD<>b.KOD and a.DISCIPLIN =b.DISCIPLIN

Вопрос: Перечень названий дисциплин, которые читаются четырем спецальностям.

select distinct DISCIPLIN from C_2, C_3 where C_2.KOD=C_3.KOD group by DISCIPLIN having count(distinct SPECIALITY)=4

Вопрос: Список групп, в которых есть студенты, не сдававшие сессию (не сделавшие ни одной попытки сдачи экзаменов)

select N_GROUP from C_1 where C_1.N_ZACH not in (select C_1.N_ZACH from C_1, C_4 where C_1.N_ZACH=C_4.N_ZACH)

 

БД отражает работу со счетами клиентов некоторого банка. Банк имеет несколько филиалов, номера филиалов и города, в которых они расположены отражены в таблице D_1. Список клиентов банка находится в таблице D_2. Каждый клиент банка имеет уникальный код. Клиент банка может иметь несколько счетов в одном либо в разных филиалах нашего банка. Счета кдиентов нашего банка приведены в таблице D_3. Счет считается действующим, если дата закрытия счета неопределена или более, чем текущая дата. По каждому счету проводятся отдельные операции. Допустимо всего 2 типа операций 'занесение' и 'снятие' со счета. Сумма по операции приведена в поле SUM_Oper. Все даты записывать как символьные константы в одинарных кавычках в европейском формате, разделитель точка и год - 4 цифры.

D_1
N_FILIAL (Номер филиала)
CITY (Город)

D_2
ID_CLIENT (Код клиента)
NAME_CLIENT (Имя клиента)
CITY (Город)

D_3
BILL (Номер счета)
ID (Код клиента)
FILIAL (Номер филиала)
DATA_B (Дата открытия)
DATA_E (Дата закрытия)

D_4
N_OPERATION (Номер операции)
OPERATION (Операция)
BILL (Номер счета)
DATE_OPER (Дата выполнения операции)
SUM_OPER (Сумма операции)

Вопрос: Вывести список городов с указанием числа клиентов, проживающих в каждом городе

Select distinctD_2.CITY, count(*) from D_2 group by D_2.CITY

 

Вопрос: Список городов, в которых есть филиалы банка, но не проживают клиенты.

select CITY from D_1 where CITY not in (select CITY from D_2 )

 

Вопрос: Вывести список счетов, по которым была выполнена максимальная сумма поступлений во всех операциях с данным счетом.

select

BILL from D_4 where OPERATION ='занесение' group by BILL having

sum(SUM_OPER) >= all (select sum(SUM_OPER) from D_4 where OPERATION

='занесение' group by BILL)

Вопрос: Список счетов открытых до текущей даты

select bill from d3 where data_b<’12.10.2012’

Вопрос:Список счетов по кот не проведено операций

Select bill from d3 where bill not in(select bill from d4)

 

Список счетов, по которым выполнялись операции занесения, но не было ни одной операции снятия.

select BILL from D_4 where OPERATION='занесение' and BILL not in(select BILL from D_4 where OPERATION='снятие')

group by BILL

Вывести список городов, в которых находится по одному филиалу нашего банка

select CITY from D_1 group by CITY having count(N_FILIAL)=1

Вопрос: Вывести список номеров филиалов, расположенных в городе Лондон

select D_1.N_FILIAL from D_1 where D_1.CITY='Лондон'

Вывести список городов, в которых находится по одному филиалу нашего банка

SELECT CITY FROM D_1 GROUP BY CITY HAVING COUNT(*)=1

Вопрос: Список счетов, по которым количество операций снятия денег такое же, как количество операций занесения денег на счет

select BILL from D_4 where OPERATION='снятие' group by BILL having count(*)=(select count(*) from D_4 a where OPERATION='занесение' and D_4.BILL=a.BILL group by BILL)

] Список счетов у которых количество операций занесения денег на счет было больше, чем количество операций снятия денег со счета.

select BILL from D_4 where OPERATION='занесение' group by BILL having count(*)>(select count (*) from D_4 d44 where OPERATION='снятие' and D_4. BILL=d44. BILL)

Вопрос: Вывести список городов, в которых есть филиалы нашего банка

select distinct D_1.CITY from D_1

Вопрос:

Список счетов по кот не проведено операйций

Select bill from d3 where bill not in(select bill from d4)

Вопрос: Вывести список городов, в которых зарегистрированы клиенты нашего банка

select distinct CITY from D_2

Вопрос:

Вопрос: Выведите сумму поступлений по счету 1001

select sum(SUM_OPER) from D_4 where BILL=1001 and OPERATION ='занесение'

Вопрос: Вывести список счетов с указанием количества выполненных операций снятия по каждому счету. Если по счету не проводилмсь операции снятия, то не включать данный счет в результирующий список.

select BILL, count(*) from D_4 where OPERATION ='снятие' group by BILL

Вопрос: Список счетов, по которым сумма занесенных денег в 2 раза превышает сумму снятых денежных средств

select BILL from D_4 whereOPERATION = 'занесение' group by BILL having SUM()= 2 * (select SUM_OPER from D_4 whereOPERATION = 'снятие')

Вопрос: Список счетов, на которые поступило более 100000 руб.

select distinct BILL from D_4 where OPERATION='занесение' and SUM_OPER>=100000

Список счетов, по которым было снято более 20000 руб.

select distinct BILL from D_4 where OPERATION='снятие' group by BILL having sum(SUM_OPER)>20000

Вывести список клиентов, проживающих в городе Москва.

select NAME_CLIENT from D_2 where D_2.CITY='Москва'

Вопрос: Список счетов, по которым было выплнено более двух операций

select BILL from D_4 group by BILL having count(OPERATION)>2

Вывести список счетов.по которым была выполнена хотя бы одна операция типа 'занесение'

select BILL from D_4 where OPERATION='занесение' group by BILL having count(OPERATION)>0

Вопрос: Вывести список счетов, по которым была выполнена максимальная сумма поступлений во всех операциях с данным счетом.

select BILL from D_4 where OPERATION ='занесение' group by BILL having sum(SUM_OPER) >= all (select sum(SUM_OPER) from D_4 where OPERATION ='занесение' group by BILL)

Список действующих на текущий момент счетов.

select BILL from D_3 where DATA_E is null

в 2005 году

data_B<= ’01.01.2005’ and dataB>=’31/12/2005’

Вывести список счетов, которые не являются действующими на 5 мая 2004 года (т.е. к данному времени они являются закрытыми)

select BILL from D_3 where DATA_E<'05.05.2004'

Вопрос: Список городов, в которых есть филиалы банка, но не проживают клиенты.

select CITY from D_1 where CITY not in (select CITY from D_2)

Вывести список филиалов с указанием количества счетов, открытых в каждом филиале.

Select distinct FILIAL, count(*) from D_3 group by FILIAL

Вывести список филиалов, у которых нет ни одного клиента.

select N_FILIAL from D_1 where N_FILIAL not in D_3

Вопрос:

Вывести список клиентов, которые имеют больше всего счетов в нашем банке.

select NAME_CLIENT from D_2,D_3 where D_2.ID_CLIENT = D_3.ID group by NAME_CLIENT having COUNT(*) >= ALL(select COUNT(BILL) from D_3 group byID)

Вопрос: Список счетов, по которым было выполнено больше всего операций снятия денег.

select BILL from D_4 where OPERATION ='снятие' group by BILL having count(*) >= all (select count(*) from D_4 where OPERATION='снятие' group by BILL)

опрос:

Выведите список номеров операций, проведенных по всем счетам в текущем году

select N_OPERATION from D_4 where year(DATE_OPER)=2012