Coś co jest w T-SQL a nie ma w czystym SQL

Jest tym mianowicie operator porównania jakim jest !=. W zwykłym SQL możliwe jest użycie tylko <>. Natomiast w T-SQL obu wymienionych.

Coś zamiast float

Załóżmy, że chcemy zrobić kilka list w kilku kolumnach. Pierwsza rzecz jaka przychodzi do głowy, to nadanie im parametru float i po sprawie. Jednak można to też zrobić nie używając float. Przykład:

  • Element 1 listy numer 1
  • Element 2 listy numer 1
  • Element 3 listy numer 1
  • Element 1 listy numer 2
  • Element 2 listy numer 2
  • Element 3 listy numer 2

W powyższym przypadku nie użyłam float:)
Styl jaki nałożony został na pierwszą kolumnę, to:

margin: 0px;
padding: 0px;
list-style-type: none;

Natomiast na drugą:

margin: -77px 0px 0px 170px;
padding: 0px;
list-style-type: none;

Jak widać nie użyłam float. Zamiast float pojawia się w przypadku drugiej kolumny odpowiednio skonstruowana wartość margin. Mianowicie ujemna wartość (-62 piksele) powoduje że element objęty tym stylem zostanie podniesiony do góry – dzięki czemu wyrówna się z kolumną lewą. Natomiast ostatnia wartość (170 pikseli) to odsunięcie od lewej strony – odpowiednie by kolumny na siebie nie nachodziły.
Oczywiście można te dwie kolumny utworzyć używając właściwości „float” ustawianej na left bądź right w zależności od potrzeb.

position: fixed

Zauważyłam, że choć działanie tej CSS-owej właściwości różni się efektami w Firefoxie, Operze i Internet Explorerze(w FF i O działa, ale w IE 6 nie bardzo) dla elementów DIV, to dla elementu BODY działa bez problemu pod wszystkim:) Na niewiele się to przyda, jeśli ktoś koniecznie chce zrobić DIV z tłem fixed, ale lepsze to niż nic:)

Czasami zdarza mi się nadużywać dopełnień – padding

Wartość padding (podobnie zresztą jak margin) może przyjmować cztery wartości. Jednak zależnie od tego ile tych wartości ustawimy (bo równie dobrze możemy ustawić tylko jedną, tylko dwie lub tylko trzy) tak pojawi się dopełnienie. Zatem:
– jeśli ustawimy tylko jedną wartość, np:

padding: 10px

ustawi dopełnienie o wartości 10px ze wszystkich stron danego elementu.
– z kolei ustawienie dwóch wartości, np:

padding: 20px 5px

ustawi dopełnienie o wartości 20px z dołu i z góry elementu.
– ustawienie trzech wartości:

padding:5px 10px 15px

ustawi dopełnienie o wartości 5px z góry, 10px z lewej i prawej strony oraz 15px z dołu elementu
– natomiast jeśli ustawimy wszystkie cztery, to:

padding: 10px 5px 15px 20px

ustawi dopełnienie o wartości 10px z góry, 5px z prawej, 15px z dołu oraz 20px z lewej
Osobiście najczęściej używam ostatniej wersji, gdyż w niej najwygodniej dokonywać zmian. Równie dobrze jednak można używać wartości padding-top, padding-right, padding-bottom, padding-left (odpowiednio: margin-top, margin-right, margin-bottom, margin-left). Przydaje się to szczególnie wtedy, gdy potrzebujemy ustawić dopełnienie tylko z jednej konkretnej strony.

Funkcje sterowania przepływem

Funkcje te znajdują swoje zastosowanie szczególnie w pojedynczych zapytaniach, gdzie nie możemy utworzyć procedur. Na tą grupę składają się cztery konstrukcje – IF(), IFNULL(), NULLIF() oraz CASE.

Konstrukcja IF przyjmuje trzy parametry wejściowe. Przykład jej wykorzystania to:

SELECT IF(id < 0, 0, id) AS id, name FROM tabela

Działanie tego zapytania przedstawia się następująco – jeśli id będzie ujemne zamiast niego zostanie zwrócone 0, natomiast jeśli id będzie większe lub równe 0 to zostanie zwrócone ono samo. I tak dla tabeli postaci:

id name
2 AAAAAAAA
-2 BBBBBBBB
-3 CCCCCCCC
4 DDDDDDDD
6 EEEEEEEE

Otrzymamy tabelę postaci:

id name
2 AAAAAAAA
0 BBBBBBBB
0 CCCCCCCC
4 DDDDDDDD
6 EEEEEEEE

Konstrukcja IFNULL() przyjmuje dwa argumenty wejściowe. Przykład wykorzystania:

SELECT IFNULL (id, 0) AS id FROM tabela

Zatem jeśli id będzie równe NULL zostanie zwrócone 0, a jeśli nie będzie równe NULL zostanie zwrócone id. Dla tabeli postaci:

id name
NULL AAAAAAAA
2 BBBBBBBB
-3 CCCCCCCC
NULL DDDDDDDD
6 EEEEEEEE

otrzymamy:

id name
0 AAAAAAAA
2 BBBBBBBB
-3 CCCCCCCC
0 DDDDDDDD
6 EEEEEEEE

Konstrukcja NULLIF przyjmuje dwa parametry wejściowe. Przykładowo:

SELECT id, nr, NULLIF(id, nr) AS wynik FROM tabela

Konstrukcja ta zwróci NULL jeśli id i number będą równe, natomiast jeśli nie będą równe zwróci id. Przykładowo dla tablicy:

id nr
2 3
2 5
-3 -3
2 4
6 6

Otrzymamy:

id nr wynik
2 3 2
2 5 2
-3 -3 NULL
2 4 2
6 6 NULL