Вывести отдел с наибольшим числом сотрудников

Наш вариант теста на знание SQL

У нас, как и во многих других организациях, проводится тестирование соискателей при поступлении их на работу. Основу тестирования составляет устное собеседование, но в некоторых случаях, даются также практические задания. Несколько дней назад, Руководство попросило меня подготовить набор задач на знание SQL.

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

Также, не имело смысла давать задания на знание каких-либо особенностей тех или иных СУБД. Мы в работе используем Oracle, но это не должно создавать трудностей для соискателей знающих, например, только MS SQL или PostgreSQL. Таким-образом, использование платформо-зависимых решений не возбраняется, но и не является ожидаемым при решении задач.

Для проведения тестирования, в Oracle 11g была развернута схема, содержащая следующие таблицы:

Требовалось составить SQL-запросы, для решения следующих пяти заданий:

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

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

Читайте также:  Чем можно вывести мастику

Вывести список ID отделов, количество сотрудников в которых не превышает 3 человек

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

Найти список ID отделов с максимальной суммарной зарплатой сотрудников

Не требовалось искать в каком-либо смысле оптимальное решение. Единственное требование: запрос должен возвращать правильный ответ на любых входных данных. Задания разрешалось решать в любом порядке, без ограничения времени. При правильном решении всех заданий, предлагалось следующее задание повышенной сложности:

Составить SQL-запрос, вычисляющий произведение вещественных значений, содержащихся в некотором столбце таблицы

Источник

Помагите составить пару запросов

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

1. Отобразить номер(а)б названия отдела(ов), в которых работает наибольшее число сотрудников среди всех отделов. В третьем столбце расчитать процент сотрудников от общего числа работников.

3. Расчитать процент от общего числа заказов, в которых дата заказа и дата доставки были в один и тот же месяц.

4. Вывести названия отделов с сотрудниками, получившими комиссионные, и расчитать общую зарплату этих сотрудников с комиссионными в 1992 году.

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Подскажите, подправьте пожалуйста пару запросов
Я уже несколько дней ломаю голову над этими запросами. Помогите пожалуйста, исправьте, если есть не.

Требуется составить пару запросов ( возникла путаница )
Приветствую. Возникла путаница в составлении двух запросов, очень прошу помощи! 1) Определить всю.

Пару запросов по SQL
1)Дайте наиболее правильный ответ. Что выведет данный запрос: SELECT COUNT ( DISTINCT COUNT ) FROM.

Как объединить пару запросов?
Есть 2 запроса. В запросах 2 столбца — код и сумма Как из них сделать 1 запрос, в котором бы.

Вложения

olimp-att2.doc (56.0 Кб, 18 просмотров)

Продвинуть пару запросов
Нужно продвинуть запросы в top5 яндекса, гугла, рамы. мойки кухонные мойки blanco Мойки SCHOCK.

выдача запросов: пару вопросов
Помогите советом, есть пару вопросов =) 1. Влияет ли кол-во внешних ссылок на странице.

Пожалуйста помагите составить блок схему
Program Sagadat; uses crt; const n=4; type a=record f: string; k: byte; end;.

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

Какова вероятность, что можно составить пару?
в комоде находятся шесть черных и шесть белых носков. Наугад вынимают два носка. Какова.

Составить 5-6 mysql запросов
Народ не могу придумать нормальные запросы, на скрине показал какие поля есть в таблицах. Эта вся.

Источник

SQL. Занимательные задачки

Вот уже более 3-х лет я преподаю SQL в разных тренинг центрах, и одним из моих наблюдений является то, что студенты осваивают и понимают SQL лучше, если ставить перед ними задачу, а не просто рассказывать о возможностях и теоретических основах.

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

SQL (ˈɛsˈkjuˈɛl; англ. structured query language — «язык структурированных запросов») — декларативный язык программирования, применяемый для создания, модификации и управления данными в реляционной базе данных, управляемой соответствующей системой управления базами данных. Подробнее…

Почитать об SQL можно из разных источников.
Данная статья не преследует цели обучить вас SQL с нуля.

Будем использовть всем известную схему HR в Oracle с ее таблицами (Подробнее):


Отмечу что мы будем рассматривать только задачи на SELECT. Тут нет задач на DML и DDL.

Задачи

Restricting and Sorting Data

Таблица Employees. Получить список с информацией обо всех сотрудниках

Источник

5 вопросов по SQL, которые часто задают дата-сайентистам на собеседованиях

Хотя составление SQL-запросов — это не самое интересное в работе дата-сайентистов, хорошее понимание SQL чрезвычайно важно для того, кто хочет преуспеть в любом занятии, связанном с обработкой данных. Дело тут в том, что SQL — это не только SELECT , FROM и WHERE . Чем больше SQL-конструкций знает специалист — тем легче ему будет создавать запросы на получение из баз данных всего, что ему может понадобиться.

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

  1. Изучение механизмов, которые выходят за пределы базового знания SQL.
  2. Рассмотрение нескольких практических задач по работе с SQL.

В статье рассмотрено 5 вопросов по SQL, взятых с Leetcode. Они представляют собой практические задачи, которые часто встречаются на собеседованиях.

Вопрос №1: второе место по зарплате

Напишите SQL-запрос для получения из таблицы со сведениями о заработной плате сотрудников ( Employee ) записи, содержащей вторую по размеру заработную плату.

Например, такой запрос, выполненный для таблицы, представленной ниже, должен вернуть 200 . Если в таблице нет значения, меньшего, чем самая высокая зарплата — запрос должен вернуть null .

▍Решение А: использование IFNULL и OFFSET

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

  • IFNULL(expression, alt) : эта функция возвращает свой аргумент expression в том случае, если он не равен null . В противном случае возвращается аргумент alt . Мы воспользуемся этой функцией для того чтобы возвратить null в том случае, если в таблице не окажется искомого значения.
  • OFFSET : этот оператор используется с выражением ORDER BY для того чтобы отбросить первые n строк. Это нам пригодится по той причине, что нас интересует вторая строка результата (то есть — вторая по величине зарплата, данные о которой есть в таблице).

Вот — готовый запрос:

▍Решение B: использование MAX

В запросе, представленном ниже, используется функция MAX . Здесь выбирается самое большое значение заработной платы, не равное максимальной заработной плате, полученной по всей таблице. В результате мы и получаем то, что нам нужно — вторую по величине заработную плату.

Вопрос №2: дублирующиеся адреса электронной почты

Напишите SQL-запрос, который обнаружит в таблице Person все дублирующиеся адреса электронной почты.

▍Решение А: COUNT в подзапросе

Сначала мы создаём подзапрос, в котором выясняется частота появления каждого адреса в таблице. Затем результат, возвращаемый подзапросом, фильтруется с использованием инструкции WHERE count > 1 . Запрос вернёт сведения об адресах, встречающихся в исходной таблице больше одного раза.

▍Решение B: выражение HAVING

  • HAVING : это выражение, которое позволяет использовать инструкцию WHERE вместе с выражением GROUP BY .

Вопрос №3: растущая температура

Напишите SQL-запрос, который находит в таблице Weather все даты (идентификаторы дат), когда температура была бы выше температуры на предшествующие им даты. То есть, нас интересуют даты, в которые «сегодняшняя» температура выше «вчерашней».

▍Решение: DATEDIFF

  • DATEDIFF : эта функция вычисляет разницу между двумя датами. Она используется для того, чтобы обеспечить сравнение именно «сегодняшних» и «вчерашних» температур.

Если сформулировать обычным языком следующий запрос, то окажется, что он выражает следующую идею: нужно выбрать такие идентификаторы, чтобы температура, соответствующая представляемым ими датам, была бы больше, чем температура на «вчерашние» по отношению к ним даты.

Вопрос №4: самая высокая зарплата в подразделении

В таблице Employee хранятся сведения о сотрудниках компании. В каждой записи этой таблицы содержатся сведения об идентификаторе ( Id ) сотрудника, о его имени ( Name ), о зарплате ( Salary ) и о подразделении компании, где он работает ( Department ).

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

Напишите SQL-запрос, который находит в каждом из подразделений сотрудников с максимальной заработной платой. Например, для вышеприведённых таблиц подобный запрос должен возвращать результаты, представленные следующей таблицей (при этом порядок строк в таблице значения не имеет):

▍Решение: команда IN

Команда IN позволяет задавать в инструкции WHERE условия, соответствующие использованию нескольких команд OR . Например, две следующие конструкции идентичны:

Здесь мы хотим получить таблицу, содержащую название подразделения ( Department ), имя сотрудника ( Employee ) и его заработную плату ( Salary ). Для этого мы формируем таблицу, в которой содержатся сведения об идентификаторе подразделения ( DepartmentID ) и о максимальной зарплате по этому подразделению. Далее мы объединяем две таблицы по условию, в соответствии с которым записи в результирующую таблицу попадают только в том случае, если DepartmentID и Salary есть в ранее сформированной таблице.

Вопрос №5: пересаживание учеников

Мэри — учительница в средней школе. У неё есть таблица seat , хранящая имена учеников и сведениях об их местах в классе. Значение id в этой таблице постоянно возрастает. Мэри хочет поменять местами соседних учеников.

Вот таблица исходного размещения учеников:

Вот что должно получиться после пересаживания соседних учеников:

Напишите запрос, который позволит учительнице решить вышеописанную задачу.

Обратите внимание на то, что если количество учеников является нечётным — последнего ученика никуда пересаживать не надо.

▍Решение: использование оператора WHEN

SQL-конструкцию CASE WHEN THEN можно рассматривать как оператор if в программировании.

В нашем случае первый оператор WHEN используется для проверки того, назначен ли последней строке в таблице нечётный идентификатор. Если это так — строка не подвергается изменениям. Второй оператор WHEN отвечает за добавление 1 к каждому нечётному идентификатору (например — 1, 3, 5 превращается в 2, 4, 6) и за вычитание 1 из каждого чётного идентификатора (2, 4, 6 превращаются в 1, 3, 5).

Итоги

Мы разобрали несколько задач по SQL, попутно обсудив некоторые продвинутые средства, которые можно использовать при составлении SQL-запросов. Надеемся, то, что вы сегодня узнали, пригодится вам при прохождении собеседований по SQL и окажется полезным в повседневной работе.

P.S. В нашем маркетплейсе есть Docker-образ с SQL Server Express, который устанавливается в один клик. Вы можете проверить работу контейнеров на VPS. Всем новым клиентам бесплатно предоставляются 3 дня для тестирования.

Уважаемые читатели! Что вы можете посоветовать тем, кто хочет освоить искусство создания SQL-запросов?

Источник

Подразделение с максимальным числом сотрудников

Помощь в написании контрольных, курсовых и дипломных работ здесь.

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

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

Рабта с максимальным числом
Есть код $result=mysql_query(«SELECT *,max(hour) AS ‘max’ FROM subject» ); нужно сделать.

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

Этот запрос выведет одно подразделение имеющее максимальное количество сотрудников.
Если будет два подразделения с одинаковым максимальным числом сотрудников, то нужен другой запрос.
Тебе какой вариант нужен? Что требует задание?

Добавлено через 11 минут
Вот так можно вывести все департаменты, которые имеют максимальное количество сотрудников.

Потому что от меня просят, их использовать. Ваш вариант, очень хороший, но мне надо через мах, не учитывая скорость)) Но у меня не получается правильно их использовать.

Добавлено через 3 часа 0 минут

Ну потому что Вы не понимаете что Вы делаете, совсем.
Давайте попробуем разобраться. Я бы мог за Вас написать запрос, но это будет медвежья услуга. Поэтому предлагаю переходить от простого к сложному.
Для начала нам нужно каким-то образом получить список сотрудников которые работают в каждом отделе.
Вывести в виде:
1. Номер отдела
2. Номер сотрудника.

Пишите такой запрос. Как напишите перейдем к следующему пункту и усложнению.

У тебя во FROM 2 таблицы employees, а в ON упоминается department

PS
Не стесняйся приводит код и сообщение об ошибке

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

Определить слово с максимальным числом букв А
Помогите решить задачку на Pascal. Слова в предложении разделены пробелом. Предложение.

Как найти строчку с максимальным числом
Дана таблица Название шахты Количество травмированных работников 1 кв. 2 кв. 3 кв. 4.

Найти элемент с максимальным числом вхождений в список
Уже третий час ломаю голову и не могу логически продолжить решение Написал функцию для нахождения.

Вычислить разность между максимальным и минимальным числом
Ребят помогите завтра экзамен , а нужно лабы ещё сдать 6 лаб ((( Вычислить разность между.

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

Источник

Оцените статью