Back to posts Edit this post
Copy content

20 Jan 12:57

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;

No files