Практика
Задание 1
Задание 2
Задание 3
172.62K
Категория: Базы данныхБазы данных

Практика. SQL. Задания

1. Практика

SQL

2. Задание 1

3. Задание 2

Есть новость и категория новости. Новость может принадлежать нескольким
категориям. 3нф.
Нужно выбрать новости, которые не принадлежат категории с cat_id=5 И которые не
принадлежит двум категориям одновременно. Сделайте это одним запросом с использованием
join-ов.
CREATE TABLE `cat` (
`id` int(11) NOT NULL,
PRIMARY KEY (`id`)
);
INSERT INTO `cat` VALUES (1),(2),(3),(4),(5);
CREATE TABLE `news` (
`id` int(11) NOT NULL,
`name` varchar(45) DEFAULT NULL,
PRIMARY KEY (`id`)
);
INSERT INTO `news` VALUES (6,'6y'),(7,'7u'),(8,'8i'),(9,'9o'),(10,'10p');
CREATE TABLE `news_cat` (
`news_id` int(11) NOT NULL,
`cat_id` int(11) NOT NULL
);
INSERT INTO `news_cat` VALUES (6,1),(6,2),(7,3),(8,4),(10,5);

4. Задание 3

Есть таблица пользователей, в которой есть поле группы, к которой принадлежит
пользователь и пол пользователя.
Необходимо найти group_id, в которых мужчин больше чем женщин.
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`group_id` int(11) NOT NULL DEFAULT '0',
`gender` enum('m','w') DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB
INSERT INTO `users` VALUES
(1,1,'m'),(2,1,'m'),(3,1,'m'),(4,1,'w'),(5,2,'m'),(6,2,'w'),(7,3,'w'),(8,3,'w');
English     Русский Правила