Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/29: Рейтинг темы: голосов - 29, средняя оценка - 4.90
6 / 6 / 7
Регистрация: 16.05.2013
Сообщений: 351

Простые запросы: Street и Person

23.04.2017, 11:27. Показов 5820. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!

Только разбираюсь с SQL, было бы просто замечательно, если вы поможете мне разобраться в ряде запросов, чтобы наглядно понять что к чему.

Заранее спасибо!

Даны две таблицы:
Список улиц - Street (Id, Name)
Cписок жильцов - Person (Id, FirstName, LastName, Age, Id_Street)

Задания:
1) Вывести общее число жителей
2) Вывести средний возраст жителей
3) Вывести отсортированный по алфавиту список фамилий без повторений
4) Вывести список фамилий, с указанием количества повторений этих фамилий в общем списке
5) Вывести фамилии, которые содержат в середине букву «б»
6) Вывести список «бомжей»
7) Вывести список несовершеннолетних, проживающих на проспекте Правды
8) Вывести упорядоченный по алфавиту список всех улиц с указанием, сколько жильцов живёт на улице
9) Вывести список улиц, название которых состоит из 6-ти букв
10) Вывести список улиц с количеством жильцов на них меньше 3

Добавлено через 15 часов 30 минут
Немного разьираюсь... Если кому ещё пригодится =)
1) SELECT COUNT(*) FROM `person`;
2) SELECT AVG(Age) AS AgeAvg FROM person;
3) SELECT LastName FROM person ORDER BY LastName ASC (без проверки на повторения)
4) SELECT COUNT(*) AS cnt, LastName FROM person GROUP BY LastName ORDER BY `cnt` ASC

Добавлено через 27 минут
6) SELECT * FROM `person` WHERE Id_Street IS NULL
7) SELECT * FROM person WHERE Age<18 AND Id_Street = 4;
9) SELECT Name FROM `street` WHERE length(Name) LIKE 6

было бы чудесно, если бы кто-то помог с написание пункта 5, 8, 10 =)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.04.2017, 11:27
Ответы с готовыми решениями:

Медленно работают простые запросы, но с сортировкой
SELECT id FROM table WHERE status=1 ORDER BY date_add DESC Индексы: status (int) date_add (int) при базе в 1 миллион записей,...

Vector, push_back. Cannot convert parameter 1 from 'person' to 'person ^'
Помогите разобраться с push_back. Появляется ошибка error C2664: 'void std::vector&lt;_Ty&gt;:: push_back(person ^)' : cannot convert parameter 1...

простые запросы
здравствуйте! помоги, пожалуйста, найти ошибку в моем запросе: SELECT Year(Got_postuplenia)= AS , Группы.Name,...

4
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
23.04.2017, 14:18
5) WHERE Name LIKE '%б%'
8) WHERE Name LIKE ______'
10)
SQL
1
2
3
  SELECT NANE FROM Street WHERE ID NOT IN (
    SELECT Id_Street FROM Person GROUP BY Id_Street HAVING COUNT(*) >= 3 
)
0
6 / 6 / 7
Регистрация: 16.05.2013
Сообщений: 351
24.04.2017, 14:37  [ТС]
За 5 и 10 запрос спасибо =) Однако восьмой запрос не дает желаемого эффекта (да и видом доверия не внушает)...
0
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
24.04.2017, 15:18
сорри, промахнулся, это был к 9) про 6 букв

Добавлено через 5 минут
SQL
1
2
3
4
5
6
SELECT Street.NAME, g.Cnt 
FROM 
  Street 
  LEFT JOIN ( SELECT Id_Street, COUNT(*) Cnt FROM Person GROUP BY Id_Street ) g ON 
    Street.Id = g.Id_Street
ORDER BY Street.NAME
SQL
1
2
3
4
5
6
SELECT Street.NAME, COUNT(Person.Id)  Cnt
FROM 
  Street 
  LEFT JOIN Person ON Person.Id_Street = Street.Id  
GROUP BY Street.NAME
ORDER BY Street.NAME
0
35 / 33 / 9
Регистрация: 27.10.2015
Сообщений: 115
24.04.2017, 15:39
Лучший ответ Сообщение было отмечено SnapeEye как решение

Решение

1) Вывести общее число жителей
SQL
1
SELECT COUNT(*) FROM Person
2) Вывести средний возраст жителей
SQL
1
SELECT avg(age) FROM person
3) Вывести отсортированный по алфавиту список фамилий без повторений
SQL
1
SELECT DISTINCT FirstName FROM Person ORDER BY FirstName
4) Вывести список фамилий, с указанием количества повторений этих фамилий в общем списке
SQL
1
SELECT FirstName, COUNT(*) FROM person GROUP BY FirstName
5) Вывести фамилии, которые содержат в середине букву «б»
SQL
1
SELECT FirstName FROM person WHERE person LIKE '_%б%_'
6) Вывести список «бомжей»
SQL
1
SELECT * FROM person WHERE id_street IS NULL
7) Вывести список несовершеннолетних, проживающих на проспекте Правды
SQL
1
2
SELECT person.* FROM person JOIN street ON person.id_street = street.id
WHERE UPPER(street.name) LIKE '%ПРОСПЕКТ ПРАВДЫ%' AND person.age < 18
8) Вывести упорядоченный по алфавиту список всех улиц с указанием, сколько жильцов живёт на улице
SQL
1
2
SELECT street.id, street.name, COUNT(person.id) FROM street JOIN person ON street.id = person.id_street 
GROUP BY street.id, street.name
9) Вывести список улиц, название которых состоит из 6-ти букв
SQL
1
SELECT * FROM street WHERE LENGTH(name) = 6
10) Вывести список улиц с количеством жильцов на них меньше 3
SQL
1
2
3
SELECT street.id, street.name FROM street JOIN person ON street.id = person.id_street
GROUP BY street.id, street.name
HAVING COUNT(person.id) < 3
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.04.2017, 15:39
Помогаю со студенческими работами здесь

Простые запросы
Всем доброго времени суток. При создании программы возникла необходимость использовать БД. Использую MySQL + php движок для работы с...

простые запросы
Определить Общау сумма продажи, за май месяц Количество различных наименование по формал производителя с помощь построителя

Простые запросы на выборку
Как в условии отбора ( когда делаешь запрос) сделать так чтобы из нескольких цифр которые заданы он отбирал только первую. Допустим есть...

Простые запросы на выборку
Вычислите сумму и число тех элементов заданного вектора X1, X2, ... , Xn, значение которых меньше 10 или находятся в пределах от 20 до 30...

Простые SQL запросы
Из таблицы ZIPCODE_INFO запросить zip_code, city, state в виде одного столбца. Разделить данные запятой. Пример: 400050, Mumbai, MH. Дать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Полиглотные микросервисы на C# и .NET
ArchitectMsa 30.06.2025
Полиглотная архитектура появилась не из желания усложнить жизнь разработчикам. Она родилась из практической необходимости решать разные задачи наиболее эффективным способом. В одном из проектов. . .
Стратегии кеширования
Javaican 29.06.2025
Кеширование — это хранение часто запрашиваемых данных в быстром хранилище (обычно в памяти), чтобы не обращаться к более медленному первоисточнику. Казалось бы, все просто. Но за этой простотой. . .
Наблюдаемость приложений ASP.NET Core с OpenTelemetry, Prometheus и Grafana
ArchitectMsa 29.06.2025
Наблюдаемость (observability) – это ключевое свойство современной системы, позволяющее понимать её внутреннее состояние на основе внешних данных. Если мониторинг отвечает на вопрос "что случилось?",. . .
Четыре главных модели отношений классов в с++
russiannick 28.06.2025
Продолжаю крестовый поход против c++. ideone. com/ юзаю для проверки валидности кода. Насчитал 4 модели отношений классов: одиночный класс, равноправные классы, слейв - мастер, терминатор. . . .
Вложенные корутины в Unity
GameUnited 28.06.2025
Работа с корутинами в Unity кажется простой до тех пор, пока не начинаешь их вкладывать друг в друга. Я потратил несколько месяцев на изучение этого механизма, и до сих пор иногда ловлю себя на том,. . .
Управление Arduino на C# через последовательный порт
Wired 28.06.2025
Когда я впервые попробовал заставить Arduino общаться с моим C# приложением, казалось, что эти два мира существуют параллельно и никогда не пересекутся. Микроконтроллер упорно моргал встроенным. . .
Основы OpenGL 3.3 и Qt 6.9. Трансформированный треугольник
8Observer8 27.06.2025
Содержание блога На русском https:/ / rutube. ru/ video/ e424497dd6b7ae7e11494027c4b31a54/ https:/ / vkvideo. ru/ video-231040171_456239019 https:/ / www. youtube. com/ watch?v=mfD-ZL7wa_4
Федерация аутентификации на основе JWT-токенов с Keycloak и .NET в гетерогенных инфраструктурах
ArchitectMsa 27.06.2025
Тот самый момент, когда впервые столкнулся с проблемой интеграции десятка разрозненных систем аутентификации в одной корпоративной экосистеме. Кажый сервис жил своей жизнью - тут Basic Auth, там. . .
Гайд по современным СУБД (небесспорный)
Codd 26.06.2025
Когда я только начинал свой путь в IT как рядовой программист, база данных казалась мне чем-то простым и понятным. Ну, серьезно — это же просто место, где лежат данные, верно? Напиши SELECT * FROM. . .
Использование C# с AWS S3: Примеры с AWS SDK для .NET
stackOverflow 26.06.2025
Amazon S3 (Simple Storage Service) уже давно стал стандартом де-факто в мире облачного хранения данных. Особенно приятно, что для разработчиков . NET предусмотрен отличный SDK, который значительно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru