EXCEL funkcja LUB

EXCEL funkcja LUB

DEFINICJA

Funkcja LUB sprawdza wartości argumentów tej funkcji czy mają wartość PRAWDA czy FAŁSZ i w zależności od ich wartości zwraca wartość PRAWDA lub FAŁSZ.

EXCEL składnia funkcji LUB

LUB(argument1 ; argument2 ; argument3 ; … )

Funkcja LUB zwraca wartość FAŁSZ w sytuacji kiedy wszystkie argumenty tej funkcji mają wartość FAŁSZ, w innym przypadku funkcja zwraca wartość PRAWDA.

Przykład

LUB(B10>100)

W tym przypadku funkcja LUB zwróci wartość PRAWDA jeżeli wartość w komórce B10 będzie większa niż 100. Jeżeli będzie mniejsza niż 100 funkcja zwróci wartość FAŁSZ.


It's only fair to share...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

EXCEL funkcja JEŻELI

EXCEL funkcja JEŻELI

DEFINICJA

Funkcja JEŻELI działa na zasadzie sprawdzenia warunku logicznego (który jest pierwszym argumentem funcji) i w zależności od wyniku tego sprawdzenia (czy PRAWDA czy FAŁSZ) zwróci nam odpowiednią wartość. Jeżeli wynik warunku logicznego będzie PRAWDĄ to funkcja zwróci nam wartość drugiego argumentu a jeżeli wynik warunku logicznego będzie FAŁSZEM to funkcja zwróci nam wartość trzeciego argumentu. Przykad składni poniżej.

EXCEL składnia funkcji JEŻELI

JEŻELI(warunek_logiczny ; wartość_jeżeli_PRAWDA ; wartość_jeżeli_FAŁSZ)

Przykład

JEŻELI(K10>100 ; "Wartość w komórce K10 jest większa od 100" ; "Wartość w komórce K10 jest mniejsza lub równa 100")


It's only fair to share...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

SQL IS NULL

SQL IS NULL


    


DEFINICJA

Polecenie IS NULL jest związane z wartością NULL, czyli z wartością nieznaną (więcej o wartości NULL tutaj). Za pomocą polecenia IS NULL możemy np. wyszukać  wartości NULL w bazie (przykład poniżej) .


Przykład zastosowania IS NULL (baza AdventureWorks) 

Wyświetl pracowników (z tabeli Person.Person) którzy NIE mają drugiego imienia.

SELECT
     FirstName AS Imię
    ,MiddleName AS [Drugie imię]
    ,LastName AS Nazwisko
FROM
    Person.Person    
WHERE
    MiddleName IS NULL
    AND (PersonType = 'EM' OR PersonType = 'SP')

Żeby uzyskać prawidłowy wynik w części WHERE musimy dodać warunek MiddleName IS NULL, co można zinterpretować tak: pokaż mi wszystkie rekordy z pracownikami gdzie pole MiddleName JEST PUSTE, czyli którzy pracownicy NIE mają drugiego imienia.


lub filtrować wyniki zapytania do rekordów które w wynikach mają wartość NULL (przykład poniżej).

Przykład zastosowania IS NULL (baza AdventureWorks) 

Wyświetl listę produktów które NIE były ani razu, użyte w zamówieniach (bo wiadomo, że nie każdy produkt z asortymentu musi być zamówiony).

Na początek żeby pokazać Wam jak wykorzystując wartości NULL możemy rozwiązać ten problem.

Połączmy dwie tabele Production.Product z tabelą Sales.SalesOrderDetails za pomocą polecenia LEFT JOIN. Jeżeli produkt nie znalazł się w żadnym z zamówień w ostatniej kolumnie wyniku zapytania pojawi nam się wartość NULL

Zapytanie:

SELECT
     P.ProductID
    ,P.Name
    ,P.ProductNumber
    ,D.ProductID
FROM
    Production.Product P
    LEFT JOIN Sales.SalesOrderDetail D ON P.ProductID = D.ProductID

Zrzut z częścią wyniku:

kurs sql is not null

Żeby nie zaciemniać wyników wyświetliłem tylko cztery kolumny. W ostatniej wyświetliłem ID produktu z tabeli Sales.SalesOrderDetails. Jeżeli system nie znalazł dopasowania produtku do żadnego z zamówień to wyświetla NULL a jeżeli znalazł takie dopasowanie to wyświetlane jest ID produktu z zamówienia (oczywiście ID produktu z kolumny 1 i 4 powinny być takie same).

Jeżeli teraz chcemy wyświetlić tylko te produtkty, które nigdy NIE znalazły się w zamówieniach musimy dodać warunek: pokaż produkty które w polu ProductID (z tabeli Sales.SalesOrderDetails) ma wartość NULL, czyli nasze zapytanie przybierze formę.

SELECT
     P.ProductID
    ,P.Name
    ,P.ProductNumber
    ,D.ProductID
FROM
    Production.Product P
    LEFT JOIN Sales.SalesOrderDetail D ON P.ProductID = D.ProductID
WHERE
    D.ProductID IS NULL    
GROUP BY
    P.ProductID, P.Name, P.ProductNumber, D.ProductID   

 


    

It's only fair to share...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

SQL IS NOT NULL

SQL IS NOT NULL


    


DEFINICJA

Polecenie IS NOT NULL jest związane z wartością NULL, czyli z wartością nieokreśloną (nieznaną). O wartości NULL możesz więcej przeczytać tutaj. Jak sama nazwa sugeruje za pomocą IS NOT NULL możemy wyszukać wszystkie wartość które NIE są NULL-ami. Poniżej przykład filtrowania rekordów w tabeli za pomocą polecenia IS NOT NULL.


Przykład zastosowania IS NOT NULL (baza AdventureWorks) 

Wyświetl pracowników (tabela Person.Person) którzy mają drugie imię.

SELECT
     FirstName AS Imię
    ,MiddleName AS [Drugie imię]
    ,LastName AS Nazwisko
FROM
    Person.Person    
WHERE
    MiddleName IS NOT NULL
    AND (PersonType = 'EM' OR PersonType = 'SP')

Żeby uzyskać prawidłowy wynik w części WHERE musimy dodać warunek MiddleName IS NOT NULL, co można zinterpretować tak: pokaż mi wszystkie rekordy z pracownikami gdzie pole MiddleName NIE JEST PUSTE, czyli którzy pracownicy mają drugie imię.


Za pomocą IS NOT NULL możemy także filtrować wyniki zapytania do rekordów które w zdefiniowanym polu NIE mają wartości NULL, przykład poniżej.

Przykład zastosowania IS NOT NULL (baza AdventureWorks) 

Wyświetl listę produktów które były, choć raz, użyte w zamówieniach (bo wiadomo, że nie każdy produkt z asortymentu musi być zamówiony).

Na początek żeby pokazać Wam jak wykorzystując wartości NULL możemy rozwiązać ten problem.

Połączmy dwie tabele Production.Product z tabelą Sales.SalesOrderDetails za pomocą polecenie LEFT JOIN. Jeżeli produkt nie znalazł się w żadnym z zamówień w ostatniej kolumnie wyniku zapytania pojawi nam się wartość NULL a jeśli wystąpił pojawi się ID tego produktu z zamówienia (ID z kolumn 1 i 4 powinny być takie same).

Zapytanie:

SELECT
     P.ProductID
    ,P.Name
    ,P.ProductNumber
    ,D.ProductID
FROM
    Production.Product P
    LEFT JOIN Sales.SalesOrderDetail D ON P.ProductID = D.ProductID

Zrzut z częścią wyniku:

kurs sql is not null

Żeby nie zaciemniać wyników wyświetliłem tylko cztery kolumny. W ostatniej wyświetliłem ID produktu z tabeli Sales.SalesOrderDetails. Jeżeli system nie znalazł dopasowania produtku do żadnego z zamówień to wyświetla NULL a jeżeli znalazł takie dopasowanie to wyświetlane jest ID produktu z zamówienia (oczywiście ID produktu z kolumny 1 i 4 powinny być takie same).

Jeżeli teraz chcemy wyświetlić tylko te produtkty, które znajdują się w zamówieniach musimy dodać warunek: pokaż produkty które w polu ProductID (z tabeli Sales.SalesOrderDetails) ma wartość inną niż NULL, czyli nasze zapytanie przybierze formę.

SELECT
     P.ProductID
    ,P.Name
    ,P.ProductNumber
    ,D.ProductID
FROM
    Production.Product P
    LEFT JOIN Sales.SalesOrderDetail D ON P.ProductID = D.ProductID
WHERE
    D.ProductID IS NOT NULL    
GROUP BY
    P.ProductID, P.Name, P.ProductNumber, D.ProductID   

 


   

It's only fair to share...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

SQL wartość NULL

SQL wartość NULL


    


DEFINICJA

NULL jest reprezentacją nieznanych danych/wartości. Jest bardzo często mylone, przez początkujących programistów, z wartością zero. Wartości te nie są równoważne. NULL mówi nam o tym, że nie znamy danej wartości. Żeby wartość taka znalazła się w bazie to przy tworzeniu tabel musimy pamiętać o tym, żeby "powiedzieć bazie", że takie wartości mogą się w danej kolumnie pojawić. Poniżej przykład tworzenia nowej tabeli z kolumnami w SQL SERVER za pomocą kreatora, zobaczymy tam checkbox którego zaznaczenie zezwana na przechowywanie wartości NULL w danej kolumnie.

kurs sql null sql server

Możemy "ręcznie" utworzyć tabelę i zdefiniowac które kolumny mogą a które nie mogą przechowywac wartości NULL. Poniżej przykład kodu który utworzy nam tabelę "pracownicy". Zdefiniujemy w nim, że pola ID, Imię i Nazwisko nie mogą przechowywać wartości NULL bo chyba nie ma takiej osoby która nie miałaby imienia i nazwiska, ale nie każdy ma drugie imię i tutaj zdefiniujemy, że kolumna ta może przechowywać wartości NULL.

CREATE TABLE PRACOWNICY
(
   ID integer NOT NULL,
   Imie varchar(30) NOT NULL,
   Drugie_imie varchar (30),
   Nazwisko varchar (30) NOT NULL
);

Z wartością NULL spotkamy się głównie w dwóch przypadkach. Pierwszy przypadek to taki, jak opisałem wyżej, że w samej tabeli znajdą się wartości NULL (obrazek poniżej, przykład tabeli "Employees" z treningowej bazy Northwind).

kurs sql null sql server

A drugi przypadek jest taki, że NULL może nam się pojawić przy zapytaniach do bazy np. przy różnego rodzaju łączeniach tabel kiedy wymuszamy połączenie konkretnego typu np. LEFT JOIN i system nie może we wszytkich przypadkach dopasować danych "po obu stronach". W sytuacji kiedy system nie znajdzie dopasowania wartości w to miejsce wstawi NULL.

Z wartością NULL związane są dwa polecenie IS NULL i IS NOT NULL. Jak sama nazwa wskazuje kiedy chcemy znaleść wartości NULL korzystamy z IS NULL a jeżeli chcemy "wyłączyć" wartości NULL (czyli wskazać wszystkie wartości oprócz NULL) to korzystamy z IS NOT NULL.


    

It's only fair to share...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

SQL symbole wieloznaczne

SQL symbole wieloznaczne


    


DEFINICJA
W zapytaniach SQL symbole wieloznaczne reprezentują dowolny ciąg znaków włączając zero. Symbole te mogą być przedrostkiem (znajdować się przed wartością), wrostkiem (znajdować się w środku) lub przyrostkiem (znajdować się za wartością), co pokażą poniższe przykłady. Z pomocą symboli wieloznacznych budujemy wzorzec który później możemy porównywać z innymi wartościami.

Symbole wieloznaczne wykorzystywane w SQL
%  – reprezentacja ciągu znaków (w tym przypadku ciąg znaków może być także zerowy)
_  – reprezentacja jednego znaku
[   ] – reprezentacja zestawów lub zakresów znaków
[^  ] – odwrotność [], czyli do wzorca pasuje wszytko to co NIE jest podane w nawiasach kwadratowych


Przykład zastosowania symbolu % (baza Northwind)
Wyświetl pracowników (Nazwiski i Imię, Miasto, Adres) mieszkających w mieście zaczynającym się na L.

SELECT
    LastName AS Nazwisko
    ,FirstName AS Imię
    ,City AS Miasto
    ,Address AS Adres
FROM    
    Employees
WHERE
    City like 'L%'    

Mamy tutaj do czynienia z przedrostkiem. Nasz wzorzec będzie wyglądał następująco L% czyli wyrażenie zaczynające się na literę L a później może wystąpić dowolny ciąg znaków (również zerowy).


Kolejny przykład zastosowania symbolu % (baza Northwind)

Wyświetl pracowników (Nazwiski i Imię, Miasto, Adres) mieszkających w mieście, gdzie w nazwie tego miasta występuje "ond".

SELECT
    LastName AS Nazwisko
    ,FirstName AS Imię
    ,City AS Miasto
    ,Address AS Adres
FROM    
    Employees
WHERE
    City like '%ond%'    

Tutaj mamy wrostek czyli nasz wzorzec będzie wyglądał tak %ond%. To tak jakbyśmy powiedzieli: pokaż wszystkie ciągi znaków które składają się z dowolnego ciągu znaków na początku, gdzieś w środku mają ciąg znaków 'ond' i na końcu mają także dowolny ciąg znaków.


Przykład zastosowania symbolu [] (baza Northwind)
Wyświetl pracowników (Nazwiski i Imię, Miasto, Adres) mieszkających w mieście zaczynającym się na "a" "k" lub "s".

SELECT
    LastName AS Nazwisko
    ,FirstName AS Imię
    ,City AS Miasto
    ,Address AS Adres
FROM    
    Employees
WHERE
    City like '[aks]%'

Jakbyśmy chcieli np szukać nazwy miasta zaczynających się na a,b lub c ponieważ litery te występują po sobie moglibyśmy użyć zakresu (żeby nie wypisywać po kolei wszystkich znaków z zakresu) i wtedy nasz wzorzec wyglądałby tak [a-c]%


Przykład zastosowania symbolu [^] (baza Northwind)
Wyświetl pracowników (Nazwiski i Imię, Miasto, Adres) mieszkających w mieście NIE zaczynającym się na żadną literę z zakresu od "a" do "l".

SELECT
    LastName AS Nazwisko
    ,FirstName AS Imię
    ,City AS Miasto
    ,Address AS Adres
FROM    
    Employees
WHERE
    City like '[^a-l]%'


    

It's only fair to share...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn