Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> SQL запросы 
:(
    Опции темы
Frostss
Дата 28.5.2011, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 23.5.2011

Репутация: нет
Всего: нет



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

1 запрос: Найти сотрудников, работавших в должности начальника отдела, и
не работавших в должности зам. директора.

SELECT * 
FROM [worker] 
WHERE [id_P] IN ( SELECT [id_P] 
 FROM [Post]
 WHERE [название] = 'начальник отдела' ) AND 
NOT IN ( SELECT [id_P] 
 FROM [Post]
 WHERE [название] = 'зам. директора' )  


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

SELECT b.*
FROM [Otdel] b
INNER JOIN
(SELECT id_O, COUNT(название) AS Naz
   FROM [Post]
   WHERE [название] = 'зам начальника'
   GROUP BY [id_O]  ) m
ON b.id_O = m.id_O AND m.Naz = 2



Сущности: Отдел (Otdel), Должность (Post), Сотрудник (worker).

Создание нормализованной БД:

Otdel (id_O,name)
Post (id_P, name, id_O)
worker (id_W,  so-name, name, дата приема, дата увольнения, id_P)

create table Otdel(
id_O int unsigned not null auto_increment key,
name char(6));

create table Post (
id_P int unsigned not null auto_increment key,
name char(30),
id_O integer);

create table worker (
id_W int unsigned not null auto_increment key,
so-name char(30),
name char(20),
date_П DATE,
date_У DATE,
id_D integer);


PM MAIL   Вверх
Zloxa
Дата 29.5.2011, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 33
Всего: 161



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

http://segfault.kiev.ua/smart-questions-ru.html#homework


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0463 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.