Created
March 1, 2025 15:31
-
-
Save Cliv-create/db2eb6c7bd0962e0585031d1fc6a6ab4 to your computer and use it in GitHub Desktop.
INNER JOIN, OUTER JOIN SQL quaries.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- INNER JOINS | |
1. Показать названия и категории товаров, поставщиками которых являются ООО "Паньки" или ООО «Какие люди» | |
SELECT p.name, p.id_category | |
FROM Product AS p | |
JOIN Supplier AS s ON p.id_producer = s.id | |
JOIN Category AS c ON p.id_category = c.id | |
WHERE s.name IN ('ООО "Паньки"', 'Хлебзавод') | |
2. Выбрать все товары с указанием их поставщика, | |
имя производителя которых не содержит букв [АКМ], | |
и категория которых не "Крупы" | |
SELECT p.name, p.id_category, s.name | |
FROM Product AS p | |
JOIN Supplier AS s ON p.id_producer = s.id | |
JOIN Category AS c ON p.id_category = c.id | |
WHERE s.name NOT LIKE '%А%' | |
AND s.name NOT LIKE '%К%' | |
AND s.name NOT LIKE '%М%' | |
AND c.name NOT LIKE 'Крупы' | |
3. Показать названия и категории товаров с указанием поставщика и страны производителя. | |
Условие: страна производителя не Украина, | |
не Молдова и не Польша, | |
цена поставки менее 50 гривен, | |
а дата поставки от 10.02.2025 и по сей день | |
SELECT p.name, p.id_category, s.name, a.street, coun.name | |
FROM Product AS p | |
JOIN Delivery AS d ON d.id_product = p.id | |
JOIN Supplier AS s ON d.id_supplier = s.id | |
JOIN Address AS a ON a.id = s.id_address | |
JOIN City AS ci ON ci.id = a.id_city | |
JOIN Region AS r ON r.id = ci.id_region | |
JOIN Country AS coun ON coun.id = r.id_country | |
JOIN Category AS c ON p.id_category = c.id | |
WHERE coun.name NOT LIKE 'Украина' | |
AND coun.name NOT LIKE 'Молдова' | |
AND coun.name NOT LIKE 'Польша' | |
AND d.price < 50 | |
AND d.date_of_delivery BETWEEN CONVERT(DATE, '2025-02-10', 23) AND GETDATE() | |
4. Показать все кондитерские и безалкогольные товары, которых было продано более 100. | |
Показать информацию о поставщике и производителе | |
SELECT p.name AS 'Товар', c.name AS 'Категория', s.name AS 'Поставщик', pr.name AS 'Производитель' | |
FROM Product AS p | |
JOIN Supplier AS s ON p.id_producer = s.id | |
JOIN Category AS c ON p.id_category = c.id | |
JOIN Producer AS pr ON p.id_producer = pr.id | |
WHERE p.quantity > 500 | |
AND c.name LIKE 'Сладости' | |
OR c.name LIKE 'Напитки' | |
-- OUTER JOINS | |
1. Показать названия товаров и их производителей, | |
но и в том числе тех производителей, у которых нет товаров | |
SELECT p.name AS 'Товар', pr.name AS 'Производитель' | |
FROM Product AS p | |
RIGHT JOIN Producer AS pr ON p.id_producer = pr.id | |
2. Показать только те категории, к которым не относится ни один товар | |
SELECT c.name | |
FROM Category AS c | |
LEFT JOIN Product AS p ON p.id_category = c.id | |
WHERE p.id_category IS NULL | |
3. Показать названия товаров, даты их поставки и поставщиков, | |
в том числе тех поставщиков, которые ничего не успели поставить | |
SELECT p.name AS 'Товар', d.date_of_delivery AS 'Доставка', s.name AS 'Поставщик' | |
FROM Product AS p | |
JOIN Delivery AS d ON d.id_product = p.id | |
LEFT JOIN Supplier AS s ON p.id_producer = s.id | |
JOIN Category AS c ON p.id_category = c.id |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment