Untitled

 avatar
unknown
plain_text
2 months ago
1.3 kB
21
Indexable
```create database FudbalDB;
use FudbalDB;

CREATE TABLE Gradovi (
    GradID INT PRIMARY KEY IDENTITY(1,1),
    Naziv VARCHAR(100) NOT NULL
);

CREATE TABLE Stadioni (
    StadionID INT PRIMARY KEY IDENTITY(1,1),
    Naziv VARCHAR(100) NOT NULL,
    GradID INT NOT NULL,
    FOREIGN KEY (GradID) REFERENCES Gradovi(GradID)
);

CREATE TABLE Klubovi (
    KlubID INT PRIMARY KEY IDENTITY(1,1),
    Naziv VARCHAR(100) NOT NULL,
    GradID INT NOT NULL,
    StadionID INT NOT NULL,
    FOREIGN KEY (GradID) REFERENCES Gradovi(GradID),
    FOREIGN KEY (StadionID) REFERENCES Stadioni(StadionID)
);

INSERT INTO Gradovi (Naziv) VALUES 
(N'Beograd'), (N'Novi Sad'), (N'Nis'), (N'Kragujevac'), (N'Subotica');

INSERT INTO Stadioni (Naziv, GradID) VALUES 
(N'Marakana', 1), (N'Karadjordje', 2), (N'Cair', 3), (N'Cika Daca', 4), (N'Spartak', 5);

INSERT INTO Klubovi (Naziv, GradID, StadionID) VALUES 
(N'Crvena Zvezda', 1, 1), (N'Partizan', 1, 1), (N'Vojvodina', 2, 2), 
(N'Radnicki Nis', 3, 3), (N'Spartak Subotica', 5, 5);

SELECT Gradovi.Naziv AS Grad, COUNT(Klubovi.KlubID) AS BrojKlubova
FROM Gradovi
LEFT JOIN Klubovi ON Gradovi.GradID = Klubovi.GradID
GROUP BY Gradovi.Naziv;

SELECT *
FROM Klubovi
WHERE StadionID = (SELECT StadionID FROM Stadioni WHERE Naziv = N'Marakana');```
Leave a Comment