Advertisement
Nelogeek

Mindbox-task-sql

Feb 21st, 2024 (edited)
81
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 1.07 KB | Source Code | 0 0
  1. CREATE TABLE Products (
  2.     ProductID INT PRIMARY KEY,
  3.     ProductName VARCHAR(50)
  4. );
  5. CREATE TABLE Categories (
  6.     CategoryID INT PRIMARY KEY,
  7.     CategoryName VARCHAR(50)
  8. );
  9. CREATE TABLE ProductCategories (
  10.     ProductID INT,
  11.     CategoryID INT,
  12.     PRIMARY KEY (ProductID, CategoryID),
  13.     FOREIGN KEY (ProductID) REFERENCES Products(ProductID),
  14.     FOREIGN KEY (CategoryID) REFERENCES Categories(CategoryID)
  15. );
  16.  
  17.  
  18. INSERT INTO Products (ProductID, ProductName)
  19. VALUES
  20.     (1, 'Яблоко'),
  21.     (2, 'Банан'),
  22.     (3, 'Морковь'),
  23.     (4, 'Молоко'),
  24.     (5, 'Хлеб');
  25. INSERT INTO Categories (CategoryID, CategoryName)
  26. VALUES
  27.     (1, 'Фрукты'),
  28.     (2, 'Овощи'),
  29.     (3, 'Молочные продукты');
  30. INSERT INTO ProductCategories (ProductID, CategoryID)
  31. VALUES
  32.     (1, 1),
  33.     (2, 1),
  34.     (3, 2),
  35.     (4, 3);
  36.  
  37.  
  38.  
  39. SELECT p.ProductName, ISNULL(c.CategoryName, '') AS CategoryName
  40. FROM Products p
  41. LEFT JOIN ProductCategories pc ON p.ProductID = pc.ProductID
  42. LEFT JOIN Categories c ON pc.CategoryID = c.CategoryID;
  43.  
Advertisement
Comments
  • Nelogeek
    87 days (edited)
    # text 0.21 KB | 0 0
    1. //---------
    2. ProductName CategoryName
    3. Ноутбук Электроника
    4. Футболка Одежда
    5. Книга "Мастер и маргарита"
Add Comment
Please, Sign In to add comment
Advertisement