Bddddd
CREATE TABLE Studenci (
Identyfikator NUMBER PRIMARY KEY,
Imie VARCHAR2(50),
Nazwisko VARCHAR2(50),
Kierunek VARCHAR2(50),
Album NUMBER(6) UNIQUE,
Srednia NUMBER(3, 2),
Stypendium NUMBER(13, 0) CHECK (Stypendium BETWEEN 0 AND 5000),
Data_rozpoczecia DATE
);
INSERT INTO Studenci VALUES (1, 'Jan', 'Kowalski', 'Teleinformatyka', '123456', 4.2, 2000, TO_DATE('2019-10-01', 'YYYY-MM-DD'));
INSERT INTO Studenci VALUES (2, 'Anna', 'Nowak', 'Informatyka', '234567', 4.5, 3000, TO_DATE('2018-09-01', 'YYYY-MM-DD'));
INSERT INTO Studenci VALUES (3, 'Piotr', 'Zielinski', 'Elektronika', '345678', 4.1, 1500, TO_DATE('2020-10-01', 'YYYY-MM-DD'));
INSERT INTO Studenci VALUES (4, 'Maria', 'Lewandowska', 'Teleinformatyka', '456789', 4.8, 4000, TO_DATE('2017-09-01', 'YYYY-MM-DD'));
SELECT * FROM Studenci
ORDER BY Album ASC;
SELECT *
FROM Studenci
WHERE EXTRACT(YEAR FROM Data_rozpoczecia) BETWEEN 2015 AND 2020;
UPDATE Studenci
SET Stypendium = Stypendium * 1.25
WHERE Kierunek = 'Teleinformatyka';
SELECT * FROM Studenci
ORDER BY Srednia DESC
OFFSET 1 ROWS
FERCH NEXT 3 ROWS ONLY;
SELECT Nazwisko, EXTRACT(YEAR FROM Data_rozpoczecia) AS Rok, EXTRACT (MONTH FROM Data_rozpoczecia) AS Miesiac, EXTRACT(DAY FROM Data_rozpoczecia) AS Dzien
FROM Studenci
WHERE Kierunek = 'Teleinformatyka';
SELECT SUBSTR(Kierunek, 1, 3) || Album AS Kod
FROM Studenci;
SELECT Album,
CASE
WHEN Stypendium < 3000 THEN 'Mniejsze niż 3000'
WHEN Stypendium = 3000 THEN 'Równe 3000'
WHEN Stypendium > 3000 THEN 'Większe niż 3000'
END AS Status_Stypendium
FROM Studenci;
SELECT Nazwisko, Album, MONTHS_BETWEEN(SYSDATE, Data_rozpoczecia) AS Liczba_Miesiecy
FROM Studenci;
SELECT
MIN(Stypendium) AS Min_Stypendium,
AVG(Stypendium) AS Srednia_Stypendium,
MAX(Stypendium) AS Max_Stypendium
FROM Studenci;
SELECT Kierunek, AVG(Stypendium) AS Srednie_Stypendium, COUNT(*) AS Liczba_Studentow
FROM Studenci
GROUP BY Kierunek;
SELECT *
FROM Studenci
WHERE Data_rozpoczecia = (
SELECT MIN(Data_rozpoczecia)
FROM Studenci
WHERE Kierunek = 'Teleinformatyka'
);
SELECT Kierunek
FROM Studenci
WHERE Kierunek = (
SELECT Kierunek
FROM Studenci
GROUP BY Kierunek
ORDER BY COUNT(*) DESC
FETCH FIRST 1 ROWS ONLY
);
CREATE TABLE Przedmioty (
Identyfikator NUMBER PRIMARY KEY,
Przedmiot VARCHAR2(50) UNIQUE,
Kierunek VARCHAR2(50) NOT NULL,
Egzamin CHAR(3),
Wyklady NUMBER DEFAULT 15,
Laboratoria NUMBER
);
ALTER TABLE Studenci
ADD CONSTRAINT CK_Kierunek CHECK (Kierunek IN ('Teleinformatyka', 'Informatyka', 'Elektronika'));
ALTER TABLE Przedmioty
ADD CONSTRAINT CK_Wyklady CHECK (Wyklady BETWEEN 0 AND 90);
INSERT INTO Przedmioty VALUES (1, 'Bazy Danych', 'Teleinformatyka', 'Tak', 30, 15);
INSERT INTO Przedmioty VALUES (2, 'Algorytmy', 'Informatyka', 'Tak', 25, 20);
INSERT INTO Przedmioty VALUES (3, 'Fizyka', 'Elektronika', 'Nie', 20, 10);
INSERT INTO Przedmioty VALUES (4, 'Sieci Komputerowe', 'Teleinformatyka', 'Tak', 40, 25);
SELECT S.*
FROM Studenci S
JOIN Przedmioty P ON S.Kierunek = P.Kierunek
WHERE P.Przedmiot = 'Bazy Danych';
SELECT S.Imie, S.Nazwisko, COUNT(P.Identyfikator) AS Liczba_Egzaminow
FROM Studenci S
JOIN Przedmioty P ON S.Kierunek = P.Kierunek
WHERE P.Egzamin = 'Tak'
GROUP BY S.Imie, S.Nazwisko;