Zaytania - słowo SELECT
Zapytanie do bazy danych w języku sql składa się z następujących elementów:
SELECT - wybieramy lub tworzymy interesujące nas kolumny
FROM - wybieramy tabelę z której będą pobierane dane
JOIN - łączymy ze sobą interesujące nas tabele
WHERE - wybieramy z tabeli tylko rekordy, które spełniają wyznaczone przez nas warunki
GROUP BY - wrupujemy rekordy wzgędem wyznaczonych kolumn, a następnie spłaszczamy każdą grupę do 1 rekordu
HAVING - wybieramy tylko grupy, które spełniają wyznaczone przez nas warunki
ORDER BY - sortujemy wynikowe rekordy
LIMIT - wybieramy tylko określoną liczbę rekordów
Przyjrzyjmy się dokładniej słowu SELECT w zapytaniu SQL do bazy MySQL
➤ Jeżeli chcesz się uczyć programowania, to zapraszam Cię do współnej nauki.
➤ Zapisz sie na korepetycje już dziś! Kontakt
➤ Zapisz sie na korepetycje już dziś! Kontakt
Omawiając słowo SELECT będące częścią zapytania do bazy posłużmy się tabelą z przykładowej bazy danych.
tabela osoby
W części SELECT wybieramy interesujące nas kolumny. Najprostszym sposobem użycia SELECT jest wybranie wszystkich kolumn interesującej nas tabeli
Wynikiem tego zapytania będzie tabela zawierająca wszystkie kolumny orginalnej tabeli:
Wybierzmy teraz tylko kolumny imie i nazwisko:
Wynikiem tego zapytania będzie tabela zawierająca tylko kolumny imie i nazwisko natosmiast kolumny id oraz nr_rej wyświetlone w wyniku zaytania:
To jak nazywają się kolumny zależy od nas. Możemy użyć orginalnej nazwy kolumny z tabeli lub zamienić je na inną używając słowa 'AS'. Wypiszmy imiona i nazwiska osob w raz z numerem rejestracyjnym samochodu nazywając ostatnią kolumne 'numer rejestracyjny' zaimst 'nr_rej' (tak jak to jest w bazie).
Jak widzimy wynikiem zapytania jest tabela z kolumnami imie i nazwisko - nazwanymi bezpośrenio tak jak w tabeli oraz z kolumną którą nazwaliśmy 'numer rejestracyjny' będącą kolmna 'nr_rej' z tabeli
Możemy tworzyć kolumny których w orginalnej tabeli jeszcze nie było. Stworzmy kolumnę która będzie tworzyć kolumnę o nazwie 'pracownik' bedącą połączeniem imienia i nazwiska osoby.
Wynikiem tego zapytania będzie tabela zawierająca jedną stworzoną przez nas kolumnę o nazwie 'pracownik'
Możliwe jest równeż używnie funkcji grupujących - wyznaczjących jedną wartość dla całej grupy rekorów. Np sunkcja COUNT(*) zlicza ilość rekordów. Możemy więc policzyć rekordy za pomocą zapytania:
lub
Wynikiem tego zapytania będzie tabela zawierająca 1 rekord z ilością osób w tabeli.
tabela osoby
id | imie | nazwisko | nr_rej |
---|---|---|---|
1 | Jan | Kowalski | OP14012 |
2 | Adam | Nowak | WW24E12 |
3 | Kasia | Adamczyk | NULL |
SELECT * FROM osoby
Wynikiem tego zapytania będzie tabela zawierająca wszystkie kolumny orginalnej tabeli:
id | imie | nazwisko | nr_rej |
---|---|---|---|
1 | Jan | Kowalski | OP14012 |
2 | Adam | Nowak | WW24E12 |
3 | Kasia | Adamczyk | NULL |
SELECT imie, nazwisko FROM osoby
Wynikiem tego zapytania będzie tabela zawierająca tylko kolumny imie i nazwisko natosmiast kolumny id oraz nr_rej wyświetlone w wyniku zaytania:
imie | nazwisko |
---|---|
Jan | Kowalski |
Adam | Nowak |
Kasia | Adamczyk |
To jak nazywają się kolumny zależy od nas. Możemy użyć orginalnej nazwy kolumny z tabeli lub zamienić je na inną używając słowa 'AS'. Wypiszmy imiona i nazwiska osob w raz z numerem rejestracyjnym samochodu nazywając ostatnią kolumne 'numer rejestracyjny' zaimst 'nr_rej' (tak jak to jest w bazie).
SELECT imie, nazwisko, nr_rej AS 'numer rejestracyjny'
Jak widzimy wynikiem zapytania jest tabela z kolumnami imie i nazwisko - nazwanymi bezpośrenio tak jak w tabeli oraz z kolumną którą nazwaliśmy 'numer rejestracyjny' będącą kolmna 'nr_rej' z tabeli
imie | nazwisko | numer rejestracyjny |
---|---|---|
Jan | Kowalski | OP14012 |
Adam | Nowak | WW24E12 |
Kasia | Adamczyk | NULL |
Możemy tworzyć kolumny których w orginalnej tabeli jeszcze nie było. Stworzmy kolumnę która będzie tworzyć kolumnę o nazwie 'pracownik' bedącą połączeniem imienia i nazwiska osoby.
SELECT CONCAT(imie,' ', 'nazwisko') AS 'pracownik'
Wynikiem tego zapytania będzie tabela zawierająca jedną stworzoną przez nas kolumnę o nazwie 'pracownik'
pracownik |
---|
Jan Kowalski |
Adam Nowak |
Kasia Adamczyk |
Możliwe jest równeż używnie funkcji grupujących - wyznaczjących jedną wartość dla całej grupy rekorów. Np sunkcja COUNT(*) zlicza ilość rekordów. Możemy więc policzyć rekordy za pomocą zapytania:
SELECT COUNT(*) AS 'ilość osób' FROM osoby
lub
SELECT COUNT(id) AS 'ilość osób' FROM osoby
Wynikiem tego zapytania będzie tabela zawierająca 1 rekord z ilością osób w tabeli.
ilość osób |
---|
3 |