Między SQL Opis: przykłady
Podczas pracy z relacyjnej bazy danych, w której dane są przechowywane w tabelach, użytkownicy często mają do czynienia z zadaniem wartości pomiarowych włączonych (nie dołączone) w pewnym zakresie. języka SQL umożliwia definiowanie wielu, które powinny (nie powinien) należą do wartości różnych opcji – Operatora, Like operatora, połączenie warunkach więcej – mniej, a także SQL dla Pomiędzy operatorem. Opis i przykłady w tym artykule skupimy się na najnowszej wersji.
„Pomiędzy” operatora w SQL: ograniczenia składni
Dosłownie operator między SQL i przetłumaczone – „pomiędzy”. Jego stosowanie pozwala ustawić limit „i od” danej dziedzinie, a jeśli następna wartość mieści się w przedziale, wówczas orzeczenie zostanie ustawiona na „true”, a wartość spadnie w ostatecznej próbie.
Składnia operatora jest bardzo prosta:
select * Z tabeli t1 Gdzie t1.n między 0 i 7 |
Jak widać, po słowie kluczowym między wami musi określać wartość dolnej granicy, a następnie I, a górna granica.
Wyliczać, jakie rodzaje danych operator może pracować między SQL:
- Cyframi – całkowitą i ułamkową.
- Z datami.
- Z tekstem.
Czy to między instrukcja SQL ma pewne osobliwości. Dostajemy je znać:
- Podczas pracy z liczbami i datami granicznymi wartościami „iz” są zawarte w próbce.
- Dolna wartość graniczna musi być mniejsza od górnej granicy, inaczej nic nie zostanie wyświetlona, ponieważ warunek nie jest logicznie prawdziwe. Szczególną ostrożność musi być, gdy zamiast konkretnych wartości w zmiennych warunkowych są włączone.
Podczas pracy z wartości tekstowej górnym zakresie nie jest zawarty w próbce, jeśli nie jest określona bardzo dokładnie. Uważamy tę funkcję w następujących sekcjach szczegółowo.
Przykładowe numery i daty w pewnym zakresie
Przygotuj tabelę z menedżerów danych, pracy w organizacji. W tabeli będzie miał następującą strukturę:
Nazwa pola |
Typ danych |
opis |
kod |
licznik |
Unikalny identyfikator pracownika |
nazwisko |
tekst |
Nazwa oficera |
nazwa |
tekst |
Nazwa pracownik |
patronimiczny |
tekst |
patronymic pracownik |
Paul |
tekst |
personel płciowe (M / F) |
Data_priema |
Date / Time |
Data otrzymania pracownika do pracy |
Chislo_detey |
liczba |
Liczba dzieci w pracownika |
Wypełnić w tabeli przez następujące dane:
kod |
nazwisko |
nazwa |
patronimiczny |
Paul |
Data_priema |
Chislo_detey |
1 |
Aleksandrow |
Irene |
N. |
F |
01.05.2014 |
1 |
2 |
Borowoj |
Andrew |
S. |
M |
21.09.2013 |
0 |
3 |
Winogradow |
Sergei |
Pawłowicz |
M |
15.06.1998 |
1 |
4 |
Shumilin |
Alexander |
B. |
M |
25.12.2004 |
2 |
5 |
vishnyakov |
Leonid |
A. |
M |
09.10.2007 |
0 |
6 |
Tropnikov |
Wasilij |
S. |
M |
12.01.2016 |
3 |
7 |
perły |
Nikita |
V. |
M |
11.01.2017 |
1 |
8 |
Awdiejewa |
nacięcie |
K. |
F |
31.03.2001 |
2 |
9 |
Jakowlew |
Leonid |
Nikołajewicz |
M |
16.02.2009 |
0 |
Tworzą zapytania sql między, który pomoże nam wybrać wszystkich pracowników, którzy mają 2 lub 3 dzieci:
Menedżerowie SELECT *. Z Menedżerów GDZIE Menedzhery.Chislo_detey pomiędzy 2 i 3 |
Rezultatem będzie trzy wiersze z danymi dotyczącymi pracowników z nazwiskami Shumilin, Tropnikov i Awdiejewa.
Teraz wybierz pracownicy otrzymali od 1 stycznia 2005 roku do 31 grudnia 2016 r. Należy zauważyć, że różne bazy danych na różne sposoby pozwalają nagrywać pod względem terminów. W większości przypadków data siły do formularza dzień-miesiąc-rok (lub bardziej wygodne) i nagrany w pojedyncze lub podwójne cudzysłowy. DBMS MS Access Data zawierać znaku „#”. Uruchomić ten przykład opiera się tylko na nim:
SELECT * Menedzhery.Data_priema Managers. Z Menedżerów GDZIE menedżerów. Data_priema dla Pomiędzy # 01/01/2005 # A # 31/12/2016 # |
Rezultatem będzie pięć pracownicy zatrudnieni w okresie włącznie.
Następnie zobaczymy jak to działa między strunami SQL.
Pracować w między strunami
Bardzo częstym problemem, który musi być rozwiązany przy pracy z nazwiskami pracowników – jest potrzeba, aby wybrać tylko te, których nazwy zaczynają się od pewnego listu. I staramy się wykonać zapytanie i wybierz pracowników, których nazwy zaczynają się od nazwiska od A do B:
Menedżerowie SELECT *. Z Menedżerów GDZIE Menedzhery.Familiya między „A” i „B” ORDER BY 2 |
Wynik jest następujący:
kod |
nazwisko |
nazwa |
patronimiczny |
Paul |
Data_priema |
Chislo_detey |
8 |
Awdiejewa |
nacięcie |
K. |
F |
31.03.2001 |
2 |
1 |
Aleksandrow |
Irene |
N. |
F |
01.05.2014 |
1 |
2 |
Borowoj |
Andrew |
S. |
M |
21.09.2013 |
0 |
Jak widać, oba pracownicy z nazwiskiem na literę B na liście nie zostały uwzględnione. Co jest tego powodem? Faktem jest dokładnie jak operator porównuje ciągi nierównej długości. Linia „B” jest krótszy łańcuch „Winogradow” i wyściełane. Ale podczas sortowania alfabetycznie przestrzenie będzie szybsze znaków, a nazwa próbki nie spadnie. Różnych baz danych zapewniają różne sposoby rozwiązania tego problemu, ale często jest to najprostszy sposób, aby wskazać niezawodność następnej litery alfabetu w zakresie:
Menedżerowie SELECT *. Z Menedżerów GDZIE Menedzhery.Familiya między „A” i „D” ORDER BY 2 |
Po wykonaniu wynik zapytania zadowoli nas całkowicie.
Ten niuans istnieje tylko podczas pracy z danych znakowych, ale to pokazuje, że nawet podczas pracy z takimi operatorami jak między prostymi, trzeba być ostrożnym.