4.0 Najpopularniejsze polecenia i słowa kluczowe SQL z
Transkrypt
4.0 Najpopularniejsze polecenia i słowa kluczowe SQL z
Instrukcja do przedmiotu Bazy danych – laboratorium (zajęcia 4 – dodatkowe DZ ) 1 4.0 Najpopularniejsze polecenia i słowa kluczowe SQL z krótkim opisem ich znaczenia1. Hasło Krótki opis Bierze udział w złożonych zapytaniach. Jeśli wszystkie warunki są AND spełnione zwraca rekord. Zwraca średnią z wartości dla danej kolumny. AVG Zwraca ilość wierszy. COUNT CREATE TABLE Tworzy tabelę. Usuwa rekord/y z tabeli. DELETE Usuwa bazę, tabelę, kolumnę, indeks. DROP Grupuje wynik zapytania wg. wskazanej kolumny/kolumn. GROUP BY INSERT INTO Wstawia nowy rekord w tabelę. Wyświetla informacje z dwóch lub więcej tabel, które są ze sobą w JOIN relacji. Zwraca dopasowane rekordy z podanych tabel. Ustawia wzorzec dla kolumny wg. którego wybierane są rekordy. LIKE Zwraca największą wartość we wskazanej kolumnie. MAX Zwraca najmniejszą wartość we wskazanej kolumnie. MIN Nie pozwala na wprowadzenie wartości NULL w podanej kolumnie. NOT NULL Bierze udział w złożonych zapytaniach. Jeśli którykolwiek warunek jest OR spełniony, zwraca rekord. Sortuje wyniki zapytania wg wartości w podanej kolumnie. ORDER BY Określa kolumnę w tabeli dla zapytania. SELECT Wstawia wartość w określone pole tabeli. SET Zwraca sumę wszystkich wartości w podanej kolumnie. SUM Pozwala na modyfikację zawartości kolumn tabeli. UPDATE Zawęża wyniki zapytań. WHERE 4.1 Dodatkowe zapytania SQL2 4.1.1 SELECT * FROM pracownicy WHERE pensja > 2000 ORDER BY staz DESC; Zwraca tabelę (listę) utworzoną ze wszystkich kolumn (*) tabeli „pracownicy” (FROM pracownicy) zawierającą pracowników, których pensja jest większa niż 2000 (WHERE pensja > 2000) i sortuje wynik malejąco według parametru staz (ORDER BY staz DESC). 1 2 Opracowanie na podstawie strony http://to.proste.info.pl/index.php5/Kurs_SQL: Źródło: http://pl.wikipedia.org/wiki/SQL Instrukcja do przedmiotu Bazy danych – laboratorium (zajęcia 4 – dodatkowe DZ ) 4.1.2 INSERT INTO pracownicy (imie, nazwisko, pensja, staz) VALUES ('Jan', 'Kowalski', 5500, 1); Dodaje do tabeli „pracownicy” (INTO pracownicy) wiersz (rekord) zawierający dane pojedynczego pracownika. 4.1.3 UPDATE pracownicy SET pensja = pensja * 1.1 WHERE staz > 2; Podwyższa o 10% pensję (SET pensja = pensja * 1.1) pracownikom, których staż jest większy niż 2 (np. lata). 4.1.4 DELETE FROM pracownicy WHERE imie = 'Jan' AND nazwisko = 'Kowalski'; Usuwa z tabeli „pracownicy” wszystkie wiersze (rekordy) dotyczące pracownika o imieniu „Jan” i nazwisku „Kowalski” (czyli takie, w których pole "imię" ma wartość Jan, a pole "nazwisko" – Kowalski). 4.1.5 CREATE TABLE pracownicy ( imie VARCHAR(255), nazwisko VARCHAR(255), pensja FLOAT, staz INT ); Tworzy tabelę „pracownicy” zawierającą pola tekstowe zmiennej długości (varchar) o nazwach „imie” (imię) i „nazwisko”, o maksymalnej długości 255 znaków, zapisaną za pomocą liczby rzeczywistej (float od ang. floating point) pensję oraz zapisany za pomocą liczby całkowitej (int od ang. integer) staż. 4.1.6 DROP TABLE pracownicy; Usuwa z bazy tabelę „pracownicy”. 4.1.7 ALTER TABLE pracownicy ADD dzial VARCHAR(255); Dodaje do struktury tabeli „pracownicy” kolumnę „dzial” (dział), jako pole tekstowe o długości maks. 255 znaków. 2 Instrukcja do przedmiotu Bazy danych – laboratorium (zajęcia 4 – dodatkowe DZ ) 4.2 Polecenia do wykonania na laboratorium 4: 4.2.1 Utworzyć w SQL Server Management Studio nową bazę danych o nazwie v2012lab4XsY [gdzie X oznacza nazwę grupy a Y numer sekcji np.: v2012lab4-ZPIIs2] 4.2.2 Utworzyć w bazie danych v2012lab4-XsY dwie poniższe tabele (Pracownicy i Stanowisko) połączone relacją jeden do wielu. Tabela: Stanowisko Tabela: Pracownicy 1 Id_pracownika Nazwisko Imie Pesel Wynagrodzenie_brutto Id_stanowiska Id_stanowiska Nazwa_stanowiska ∞ (Zwrócić uwagę na: nazwy tabel, nazwy i typy pól, klucze główne, relację jeden do wielu, Identity Increment w tabeli Pracownik). 4.2.3 Wprowadzić do każdej z tabel po 3 nowe dowolne rekordy. 4.2.4. Napisz zapytanie w języku SQL, które zwróci w wyniku wszystkie dane pracowników których nazwisko zaczyna się na literę „N” 4.2.5. Napisz zapytanie w języku SQL, które zwróci tylko Nazwisko i Pesel pracowników których Wynagrodzenie_brutto wynosi więcej niż 1500 i mniej niż 3000. 4.2.6 Napisz zapytanie w języku SQL, które zwróci średnią wartość Wynagrodzenie_brutto pracowników. 4.2.7 Napisz zapytanie w języku SQL, które doda nowego pracownika do tabeli Pracownicy (Imie=Anna, Nazwisko=Nowak, Pesel=73131509887, Wynagrodzenie_brutto=1750, Id_stanowiska=1). 3 Instrukcja do przedmiotu Bazy danych – laboratorium (zajęcia 4 – dodatkowe DZ ) 4 4.2.8 Napisz zapytanie w języku SQL, które zwiększy wynagrodzenie (Wynagrodzenie_brutto) wszystkim pracownikom pracującym na stanowisku 1 (Id_stanowiska=1) o 20%. 4.2.9 Napisz zapytanie w języku SQL, które doda do tabeli Pracownicy nową kolumnę Data_zatrudnienia 4.2.10 Napisz zapytanie w języku SQL, które usunie z bazy danych wszystkich pracowników którzy pracują na stanowisku 3 (Id_stanowiska=3) 4.2.11 Napisz zapytanie w języku SQL, które utworzy nową tabelę o nazwie Stazysci z następującymi polami: Id_stazysty, Imie, Nazwisko, Pesel. 4.2.11 Napisz zapytanie w języku SQL, które usunie tabelę Stazysci 4.2.12 Napisz zapytanie w języku SQL, które zwróci z tabeli Pracownicy pola Nazwisko i Imie a z tabeli Stanowisko pole Nazwa_stanowiska dzięki istnieniu relacji między wymienionymi tabelami poprzez pole Id_stanowiska 4.2.13 Napisz zapytanie w języku SQL, które zwróci liczbę osób pracujących na poszczególnych stanowiskach (np.: Kasjer - 2 osoby, Magazynier - 1 osoba. W sumie 3 pracowników. Patrz rysunek poniżej) 4.2.14 Napisz zapytanie w języku SQL, które zwróci dane pracowników (Imie, Nazwisko Wynagrodzenie_brutto i Nazwa_stanowiska) których Wynagrodzenie_brutto jest większe od 1200 i posortuje je alfabetycznie według pola Nazwisko (Np.: Patrz rysunek poniżej)