Возвращает пустой результат запроса - MySQL
Формулировка задачи:
создаю и заполняю таблицы:
Когда выполняю запрос:
отрабатывает нормально - 25 строк.
когда делаю:
то возвращает пустой запрос, ноль строк. Что здесь неправильно?
create table customers ( id_customer int NOT NULL AUTO_INCREMENT, name char(50) NOT NULL, email char(50) NOT NULL, PRIMARY KEY (id_customer) ); create table vendors ( id_vendor int NOT NULL AUTO_INCREMENT, name char(50) NOT NULL, city char(30) NOT NULL, address char(100) NOT NULL, PRIMARY KEY (id_vendor) ); create table sale ( id_sale int NOT NULL AUTO_INCREMENT, id_customer int NOT NULL, date_sale date NOT NULL, PRIMARY KEY (id_sale), FOREIGN KEY (id_customer) REFERENCES customers (id_customer) ); create table incoming ( id_incoming int NOT NULL AUTO_INCREMENT, id_vendor int NOT NULL, date_incoming date NOT NULL, PRIMARY KEY (id_incoming), FOREIGN KEY (id_vendor) REFERENCES vendors (id_vendor) ); create table products ( id_product int NOT NULL AUTO_INCREMENT, name char(100) NOT NULL, author char(50) NOT NULL, PRIMARY KEY (id_product) ); create table prices ( id_product int NOT NULL, date_price_changes date NOT NULL, price double NOT NULL, PRIMARY KEY (id_product, date_price_changes), FOREIGN KEY (id_product) REFERENCES products (id_product) ); create table magazine_sales ( id_sale int NOT NULL, id_product int NOT NULL, quantity int NOT NULL, PRIMARY KEY (id_sale, id_product), FOREIGN KEY (id_sale) REFERENCES sale (id_sale), FOREIGN KEY (id_product) REFERENCES products (id_product) ); create table magazine_incoming ( id_incoming int NOT NULL, id_product int NOT NULL, quantity int NOT NULL, PRIMARY KEY (id_incoming, id_product), FOREIGN KEY (id_incoming) REFERENCES incoming (id_incoming), FOREIGN KEY (id_product) REFERENCES products (id_product) );
INSERT INTO vendors (name, city, address) VALUES ('Вильямс', 'Москва', 'ул.Лесная, д.43'), ('Дом печати', 'Минск', 'пр.Ф.Скорины, д.18'), ('БХВ-Петербург', 'Санкт-Петербург', 'ул.Есенина, д.5'); INSERT INTO customers (name, email) VALUES ('Иванов Сергей', 'removed@mail.ru'), ('Ленская Катя', 'removed@mail.ru'), ('Демидов Олег', 'removed@mail.ru'), ('Афанасьев Виктор', 'removed@mail.ru'), ('Пажская Вера', 'removed@mail.ru'); INSERT INTO products (name, author) VALUES ('Стихи о любви', 'Андрей Вознесенский'), ('Собрание сочинений, том 2', 'Андрей Вознесенский'), ('Собрание сочинений, том 3', 'Андрей Вознесенский'), ('Русская поэзия', 'Николай Заболоцкий'), ('Машенька', 'Владимир Набоков'), ('Доктор Живаго', 'Борис Пастернак'), ('Наши', 'Сергей Довлатов'), ('Приглашение на казнь', 'Владимир Набоков'), ('Лолита', 'Владимир Набоков'), ('Темные аллеи', 'Иван Бунин'), ('Дар', 'Владимир Набоков'), ('Сын вождя', 'Юлия Вознесенская'), ('Эмигранты', 'Алексей Толстой'), ('Горе от ума', 'Александр Грибоедов'), ('Анна Каренина', 'Лев Толстой'), ('Повести и рассказы', 'Николай Лесков'), ('Антоновские яблоки', 'Иван Бунин'), ('Мертвые души', 'Николай Гоголь'), ('Три сестры', 'Антон Чехов'), ('Беглянка', 'Владимир Даль'), ('Идиот', 'Федор Достоевский'), ('Братья Карамазовы', 'Федор Достоевский'), ('Ревизор', 'Николай Гоголь'), ('Гранатовый браслет', 'Александр Куприн'); INSERT INTO incoming (id_vendor, date_incoming) VALUES ('1', '2011-04-10'), ('2', '2011-04-11'), ('3', '2011-04-12'); INSERT INTO magazine_incoming (id_incoming, id_product, quantity) VALUES ('1', '1', '10'), ('1', '2', '5'), ('1', '3', '7'), ('1', '4', '10'), ('1', '5', '10'), ('1', '6', '8'), ('1', '18', '8'), ('1', '19', '8'), ('1', '20', '8'), ('2', '7', '10'), ('2', '8', '10'), ('2', '9', '6'), ('2', '10', '10'), ('2', '11', '10'), ('2', '21', '10'), ('2', '22', '10'), ('2', '23', '10'), ('2', '24', '10'), ('3', '12', '10'), ('3', '13', '10'), ('3', '14', '10'), ('3', '15', '10'), ('3', '16', '10'), ('3', '17', '10'); INSERT INTO prices (id_product, date_price_changes, price) VALUES ('1', '2011-04-10', '100'), ('2', '2011-04-10', '130'), ('3', '2011-04-10', '90'), ('4', '2011-04-10', '100'), ('5', '2011-04-10', '110'), ('6', '2011-04-10', '85'), ('7', '2011-04-11', '95'), ('8', '2011-04-11', '100'), ('9', '2011-04-11', '79'), ('10', '2011-04-11', '49'), ('11', '2011-04-11', '105'), ('12', '2011-04-12', '85'), ('13', '2011-04-12', '135'), ('14', '2011-04-12', '100'), ('15', '2011-04-12', '90'), ('16', '2011-04-12', '75'), ('17', '2011-04-12', '90'), ('18', '2011-04-10', '150'), ('19', '2011-04-10', '140'), ('20', '2011-04-10', '85'), ('21', '2011-04-11', '105'), ('22', '2011-04-11', '70'), ('23', '2011-04-11', '65'), ('24', '2011-04-11', '130'); INSERT INTO sale (id_customer, date_sale) VALUES ('2', '2011-04-11'), ('3', '2011-04-11'), ('5', '2011-04-11'); INSERT INTO magazine_sales (id_sale, id_product, quantity) VALUES ('1', '1', '1'), ('1', '5', '1'), ('1', '7', '1'), ('2', '2', '1'), ('3', '1', '1'), ('3', '7', '1');
SELECT mag_incoming.id_product, mag_incoming.quantity FROM mag_incoming, products;
SELECT mag_incoming.id_product, mag_incoming.quantity FROM mag_incoming, products WHERE mag_incoming.id_product = products.author;
Решение задачи: «Возвращает пустой результат запроса»
textual
Листинг программы
SELECT products.name, mag_incoming.quantity FROM mag_incoming, products WHERE mag_incoming.id_product=products.id_product;
Объяснение кода листинга программы
SELECT
- оператор выбора данных из базы данныхproducts.name
- название переменной, которая будет содержать значения имен продуктовmag_incoming.quantity
- название переменной, которая будет содержать значения количества продуктовFROM
- оператор, указывающий таблицы, из которых нужно выбрать данныеmag_incoming
- название таблицы, из которой нужно выбрать данныеproducts
- название таблицы, из которой нужно выбрать данныеWHERE
- оператор, указывающий условия выборки данныхmag_incoming.id_product=products.id_product
- условие, что нужно выбрать только те строки, где значениеid_product
в таблицеmag_incoming
равно значениюid_product
в таблицеproducts
;
- символ окончания оператораWHERE
;
- символ окончания оператораFROM
;
- символ окончания оператораSELECT
;
- символ окончания оператораFROM
;
- символ окончания оператораWHERE
;
- символ окончания оператораFROM
;
- символ окончания оператораSELECT
;
- символ окончания оператораFROM
;
- символ окончания оператораWHERE
;
- символ окончания оператораFROM
;
- символ окончания оператораSELECT
;
- символ окончания оператораFROM
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д