powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / sql задача
31 сообщений из 31, показаны все 2 страниц
sql задача
    #39284562
alexey_wis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Помогите пожалуйста с задачей
В базе есть 2 таблицы.
студенты(id_студента,имя_студента, дата_рождения).
Дисциплины(id_предмета, название_предмета,id_студента)

1.Вывести названия предметов и имя студента.
2.Вывести количество студентов которые не имеют ни одного предмета.
3.В таблице где имя студента и количество его предметов(если у студента нет ни одного предмета, необходимо что бы результат был 0)
4)количество предметов у всех студентов
...
Рейтинг: 0 / 0
sql задача
    #39284567
alexey_wis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
правильно ли у меня получилось 1 и 4 задание?
1
select p.predment_name, s.name
from students s
join predmet p on s.id_stud = p.id_stud
4
select count(p.predment_name)
from books b
join predmet p on s.id_stud = p.id_stud
...
Рейтинг: 0 / 0
sql задача
    #39284570
alexey_wis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
задачи из учебного курса по степику) в sql новичок
...
Рейтинг: 0 / 0
sql задача
    #39284571
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexey_wisправильно ли у меня получилось 1 и 4 задание?
.....
from books b

а книги это уже из задания соседа
...
Рейтинг: 0 / 0
sql задача
    #39284572
alexey_wis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нееет)) названия таблиц спутал с другой задачей

1
select p.predment_name, s.name
from students s
join predmet p on s.id_stud = p.id_stud
4
select count(p.predment_name)
from students s
join predmet p on s.id_stud = p.id_stud
...
Рейтинг: 0 / 0
sql задача
    #39284573
alexey_wis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
подскажите пожалуйста, а 3 задание правильно ли получилось у меня?
select count(s.name)
from students s
join predmet p on s.id_stud = p.id_stud
group by p.name_predmet
having count(*) < 1
...
Рейтинг: 0 / 0
sql задача
    #39284581
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexey_wisа 3 задание правильно ли получилось у меня?
сам можешь прочитать что тебе требуется в 3 задании ?
или нужно цитировать ?
автор3.В таблице где имя студента и количество его предметов(если у студента нет ни одного предмета, необходимо что бы результат был 0)
...
Рейтинг: 0 / 0
sql задача
    #39284585
alexey_wis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
извиняюсь, я имел ввиду 2ое задание, поспешил
...
Рейтинг: 0 / 0
sql задача
    #39284589
xenix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да и второе не факт, что правильно
авторВывести количество студентов которые не имеют ни одного предмета.
т.е. об этом студенте нет записи в таблице Дисциплины
...
Рейтинг: 0 / 0
sql задача
    #39284600
invisiblesereja
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему join, а не просто селект в селекте?
Чем это лучше?
Никогда почти join не использовал...
...
Рейтинг: 0 / 0
sql задача
    #39284604
alexey_wis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мне больше с жоином привычнее
...
Рейтинг: 0 / 0
sql задача
    #39284612
alexey_wisподскажите пожалуйста, а 3 задание правильно ли получилось у меня?
select count(s.name)
from students s
join predmet p on s.id_stud = p.id_stud
group by p.name_predmet
having count(*) < 1

неправильно ни для 2, ни для 3 (в 3 вообще непонятно, что делать)
Код: plsql
1.
"having count(*) < 1"



хахаха
учить азы!
...
Рейтинг: 0 / 0
sql задача
    #39284614
alexey_wisправильно ли у меня получилось 1 и 4 задание?
1
select p.predment_name, s.name
from students s
join predmet p on s.id_stud = p.id_stud
4
select count(p.predment_name)
from books b
join predmet p on s.id_stud = p.id_stud

1 - да
4 - нет (для обоих видов понимания задания: общее кол-во или кол-во по каждому студенту)
...
Рейтинг: 0 / 0
sql задача
    #39284622
alexey_wis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а что не так во втором задании? в условии having count(*) < 1 идет подсчет количества предметом и показать только те которых нет
...
Рейтинг: 0 / 0
sql задача
    #39284628
invisiblesereja
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexey_wis having count(*) < 1

Выводишь студентов, у которых счетчик предметов меньше 1. Круто.
...
Рейтинг: 0 / 0
sql задача
    #39284632
alexey_wisа что не так во втором задании? в условии having count(*) < 1 идет подсчет количества предметом и показать только те которых нет

кажется, я начинаю понимать Elic'a....

having применяется к результату группировки, то есть к тому, что ЕСТЬ после группировки
группировка в свою очередь тоже применяется к тому, что уже ЕСТЬ
...
Рейтинг: 0 / 0
sql задача
    #39284633
s0und
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invisibleserejaalexey_wis having count(*) < 1

Выводишь студентов, у которых счетчик предметов меньше 1. Круто.

Давайте выясним, как ему джоин написать, а потом уже ненужные строки отсечем
...
Рейтинг: 0 / 0
sql задача
    #39284646
alexey_wis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
допустим я подсчитал количество предметов у студентов
Иванов 1
Петров 2
Сидоров 0
..
И нужно выбрать среди них только тех у кого 0. И через условии having отсекаю ненужных
...
Рейтинг: 0 / 0
sql задача
    #39284652
s0und
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexey_wisдопустим я подсчитал количество предметов у студентов
Иванов 1
Петров 2
Сидоров 0
..
И нужно выбрать среди них только тех у кого 0. И через условии having отсекаю ненужных
Как Вы посчитали кол-во предметов? Особенно интересует Сидоров. В том варианте, что Вы привели выше, Сидоров в результат запроса не попадет.
...
Рейтинг: 0 / 0
sql задача
    #39284654
alexey_wisдопустим я подсчитал количество предметов у студентов
Иванов 1
Петров 2
Сидоров 0
..
И нужно выбрать среди них только тех у кого 0. И через условии having отсекаю ненужных
а ты уверен, что после группировки Сидоров кассир ?
...
Рейтинг: 0 / 0
sql задача
    #39284656
alexey_wis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
так я получу количество предметов у студентов
select count(s.name)
from students s
join predmet p on s.id_stud = p.id_stud
group by p.name_predmet
...
Рейтинг: 0 / 0
sql задача
    #39284657
alexey_wisтак я получу количество предметов у студентов
select count(s.name)
from students s
join predmet p on s.id_stud = p.id_stud
group by p.name_predmet

разберись, как работает вот это
Код: plsql
1.
join predmet p on s.id_stud = p.id_stud
...
Рейтинг: 0 / 0
sql задача
    #39284664
Бельфя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexey_wisтак я получу количество предметов у студентов
select count(s.name)
from students s
join predmet p on s.id_stud = p.id_stud
group by p.name_predmet
Тут скорее получается количество студентов у предмета :-)
Почитай про внутреннее, левое, правое и внешние соединения.
...
Рейтинг: 0 / 0
sql задача
    #39284666
alexey_wis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а вы можете помочь сделать? я просто не знаю как, второй день только с sql столкнулся
...
Рейтинг: 0 / 0
sql задача
    #39284667
s0und
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
элементарно, ватсонalexey_wisдопустим я подсчитал количество предметов у студентов
Иванов 1
Петров 2
Сидоров 0
..
И нужно выбрать среди них только тех у кого 0. И через условии having отсекаю ненужных
а ты уверен, что после группировки Сидоров кассир ?

Сидоров уже не кассир еще до группировки
...
Рейтинг: 0 / 0
sql задача
    #39284675
s0undэлементарно, ватсон
а ты уверен, что после группировкиСидоров кассир

Сидоров уже не кассир еще до группировки

верной дорогой идёте, товарищи...
...
Рейтинг: 0 / 0
sql задача
    #39284712
kernA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПочитай про внутреннее, левое, правое и внешние соединения.

join --> left outer join
...
Рейтинг: 0 / 0
sql задача
    #39284717
s0und
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kernA,

Напишите сразу ответ, зачем нам конкуренты, верно?)
...
Рейтинг: 0 / 0
sql задача
    #39284726
kernA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
s0und,
ответ под спойлером)

кстати, "having count(*) < 1" выберет строки, которых не существует. То есть, ничего не выберет. Нужно уточнить.
...
Рейтинг: 0 / 0
sql задача
    #39284727
kernA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kernAкстати, "having count(*) < 1" выберет строки, которых не существует. То есть, ничего не выберет. Нужно уточнить.

например,
select count(*) from
(select null a,null b from dual
union
select null a,null b from dual
minus
select null a,null b from dual
)
having count(*) < 1
...
Рейтинг: 0 / 0
sql задача
    #39284734
kernAкстати, "having count(*) < 1" выберет строки, которых не существует. То есть, ничего не выберет. Нужно уточнить.
выберет то, чего не может быть, то есть выберет null всегда, даже если без having что-то возвращает.
...
Рейтинг: 0 / 0
31 сообщений из 31, показаны все 2 страниц
Форумы / Oracle [игнор отключен] [закрыт для гостей] / sql задача
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]