CentrumXP.pl » Witamy
CentrumXP.pl
 
Szukaj
Subskrypcja
Powiadomienie e-mailem o nowościach na CentrumXP.pl:
E-mail: Zapisz
Czy zamierzasz pobrać Internet Explorer 9?


CentrumXP.pl » Microsoft .NET » Kurs SQL » Dodaj do ulubionych Dodaj do ulubionych   Dodaj do ulubionych Wersja do wydruku

11. Filtracja danych

Autor: Grzegorz Chuchra    Opublikowano: 8 marca 2006    Odsłon: 39912    »Skomentuj...
Strona 1 z 2  Następna»
Zobacz również:

01. SQL Server 2005 Express - Wstęp do kursu

02. Instalacja. Opis elementów wchodzących w skład SQL Server 2005.

03. SQL Server - instalacja krok po kroku

04. Pierwszy kontakt. Czyli czym jest baza danych i jak z niej korzystać.

05. Wstęp do relacyjnych baz danych. Sposób organizacji danych danych.

06. Klucze główne i obce

07. Normalizacja baz danych

08. Co to jest typ danych? Jakie typy danych dostarcza nam SQL Server 2005.

09. Z teorii do praktyki czyli "Data Definition Language"

10. Operacje na danych "Data Manipulation Language".

12. Funkcje agregujące

13. Łączenie tabel

14. Praca z podzapytańami, tabelami tymczasowymi i zmiennymi tabelarycznymi

15. Nowości w "Data Control Language", czyli parę słów o schematach

16. Transakcje

17. Nowości w SQL Server 2005

18. Procedury składowalne i funkcje bazodanowe

19. XML i XQuery

20. Użycie .NET CLR w SQL Server 2005

»Uzyskaj pomoc na forum

Streszczenie

Artykuł ten chciałbym poświęcić klauzuli WHERE. Ponieważ do tej pory traktowaliśmy ją bardzo ogólnikowo, myślę, że przyszedł czas na dokładne przeanalizowanie możliwości, których może nam dostarczyć skuteczne jej wykorzystanie.

Treść

Klauzula WHERE służy do ograniczenia zbioru danych, na których przeprowadzana będzie operacja. Dotyczy to zarówno operacji SELECT, jak i UPDATE i DELETE. W warunkach wyszukiwania można uwzględnić szereg operatorów porównania, dopasowywania łańcuchów znaków i wartości niezdefiniowanej NULL. Sama składnia ograniczająca warunki wyszukiwania jest dość prosta:

WHERE warunki_wyszukiwania

Podstawowy sposób filtracji danych polega na pobieraniu wartości większy, mniejszy lub równy  i porównaniu z pewną wartością, którą podajemy. Przykładem może być wybranie kontaktu z osobami o imieniu Marcin lub ludzi urodzonych po roku 1980. Wszystkie te operacje można bez problemu wykonać za pomocą operatorów porównania. Poniższa tabela przedstawia operatory porównania dostępne w standardzie Transact-SQL.

=

Równy

Większy

Mniejszy

>=

Większy, równy

<=

Mniejszy, równy

<> 

Różny

Przejdźmy teraz do przeanalizowania prostego zapytania, które już wielokrotnie przetoczyło się przez ten kurs. Wygenerujmy sobie w Query Designer skrypt wylistowujący kontakty do osób mających nazwisko Diaz. Poprawnie wygenerowane zapytanie powinno wyglądać w następująco:

SELECT     Person.Contact.*
FROM       Person.Contact
WHERE      (LastName = N'Diaz')

Skupmy się jednak na klauzuli WHERE. Kolumna LastName jest typu znakowego, z tego względu tekst wpisany do designera jest standardowo konwertowany do łańcuch znakowy. W tym celu SQL Server zastosował funkcję konwersji:

 N' wartość_do_konwersji ’

Sprawdźmy, co się stanie, jeśli kolumna, po której będziemy wyszukiwać, będzie miała wartość integer (całkowitoliczbową).

SELECT   Person.Contact.*
FROM     Person.Contact
WHERE    (ContactID = 257)

Ponieważ kolumna ContactID jest typu całkowitego designer nie musi, a nawet nie może konwertować wartości. Próba wpisania w kolumnie Filter wyrażenia innego niż cyfra zakończy się niepowodzeniem i wypisaniem komunikatu o błędzie.
Wiemy już jak wybierać informacje o pojedynczym wierszu. Teraz przejdźmy do wybrania wszystkich rekordów z bazy, gdzie data modyfikacji wiersza jest większa niż 2004-07-26. W tym celu przy kolumnie związanej z nakładaniem warunków wpisujemy datę 2004-07-26.

SELECT    Person.Contact.*
FROM      Person.Contact
WHERE     (ModifiedDate > CONVERT(DATETIME, '2004-07-26 00:00:00', 102))


1 2 Dalej» 

Aktualna ocena to: 4,16

Oceń artykuł...
Porażka Kiepski Taki Sobie Dobry Super!

Tagi:  

A teraz:    Dodaj do ulubionych Dodaj do ulubionych    Wydrukuj Wydrukuj    Wyślij link znajomemu Wyślij link znajomemu    Skomentuj Skomentuj

Komentarze do 11. Filtracja danych

Dodaj komentarz»

Kamil W 7 września 2006, 8:11

Bardzo przyjaźnie napisany kurs. Serdeczne podziękowania AUTOROWI. Mam nadzieje że kurs nadal będzie się rozwijał o kolejne tematy.

piter259 18 września 2006, 0:03

Podziękowania Autorowi za fachowy artykuł!

kuz 20 lipca 2007, 0:14

swietny ten kurs dzieki:)

Rafał 4 sierpnia 2007, 12:44

swietnie zorganizowany kurs. takich to tylko ze swieczka szukac :)

andrzejdz1 14 sierpnia 2007, 12:08

W pełni zgadzam się z przedmówcami! Muszę szybko poznać podstawy baz danych, a ten kurs bardzo mi w tym pomaga.

adr 19 maja 2008, 11:32

niestety nieda sie pobrac przykładowej bazy a na stronach microsoftu tez zbytnio niemozna sie doszukac. jeśli ktoś będzie tak miły to prosze o nowego linka

gg 15 lipca 2008, 9:08

adr: jak mozna przeczytac w linku plik nazywa sie "AdventureWorksDB.msi" a dalej to juz chyba sobie poradzisz :P

Adrian 29 września 2009, 12:15

Nie D__Z% tylko D__z%


Dodaj swój komentarz

»Zasady udzielania komentarzy

Autor:  
Komentarz:
Dodaj komentarz
© 2012 Onex Group
Onex Group O Onex Group  |  O CentrumXP.pl  |  Kontakt  |  Reklama
Nasze serwisy: CentrumXP.plXboxSpot.pl  |  Jama Mastaha