Początkowanie pracy z SQL Server: 1. Proste zapytania SELECT

W tej serii lekcji dowiesz się, jak wykonywać zapytania do Microsoft SQL Server przy użyciu instrukcji SQL SELECT. Po przeczytaniu tej lekcji będziesz w stanie:

  • Zidentyfikować wszystkie tabele w bazie danych SQL Server SSMS (SQL Server Management Studio).
  • Zrozumieć, jak wyświetlić listę kolumn tabeli.
  • Aby przeglądać kolumny, tworzyć wyniki tekstowe i matematyczne oraz ustawiać różne wartości, użyj polecenia SQL SELECT.
  • Poznaj techniki debugowania poleceń i naprawiania błędów.

Ważne! Proszę postępuj zgodnie z przykładami w swojej bazie danych i wykonaj je. Jeśli jeszcze tego nie zrobiłeś, zapisz się na mój przewodnik Getting Started with SQL Server. Możesz otrzymać wskazówki dotyczące pobierania darmowego oprogramowania i przykładowej bazy danych.

Understanding Your Database

Prosta instrukcja select składa się z dwóch części. Pierwsza część opisuje, jakie kolumny chcemy wyświetlić, a druga część, którą tabelę przeglądamy. Polecenie select wygląda następująco:

SELECT LastName FROM Person.Person

W tym przykładzie LastName jest kolumną, a Person tabelą. Kolumny występują po słowie kluczowym SELECT, natomiast tabela jest poprzedzona słowem FROM.

Nazewnictwo tabel

Możesz się zastanawiać, dlaczego tabela Person jest określona jako Person. Person w powyższym stwierdzeniu. Ma to związek ze sposobem, w jaki obiekty są zorganizowane na serwerze. Baza danych może być postrzegana jako seria zagnieżdżonych kontenerów. Kontenery te to:

  • Serwer/Instancja – instancja SQL Server działająca na komputerze.
  • Bazy danych – jedna lub więcej baz danych utworzonych na instancji.
  • Schematy – sposób logicznego grupowania tabel i innych obiektów bazy danych.

W pełni kwalifikowana nazwa tabeli to …. Więc jeśli naprawdę chcielibyśmy być jednoznaczni, moglibyśmy użyć czegoś takiego jak

SELECT LastName FROM ...

do wykonania zapytania. Na szczęście zazwyczaj piszemy zapytania w kontekście jednej bazy danych, więc musimy tylko określić Schemat i TableName w następujący sposób:

SELECT LastName FROM Person.Person

A co z nawiasami? Są one używane w przypadku, gdy w nazwie tabeli znajduje się spacja. Więc

SELECT Last NameFROM Person.Person Table

wystąpiłby błąd

SELECT FROM Person.

Is OK. Moja rada? Jeśli dostaniesz się do nazw własnych tabel, nie używaj spacji, nawiasy są brzydkie! Jeśli musisz, zrób to, co robią ludzie z Oracle i użyj podkreśleń. Person_Table jest znacznie łatwiejsza do odczytania niż , osobiście wolę PersonTable.

Używanie Object Explorera

Aby pisać zapytania, musisz wiedzieć, jakie tabele i kolumny są dostępne w twoich bazach danych. Podczas korzystania z SSMS (SQL Server Management Studio) możesz po prostu rozwinąć folder tabel bazy danych, aby wyświetlić listę wszystkich tabel znajdujących się w Twojej bazie danych. Po znalezieniu tabeli, o której chciałbyś dowiedzieć się więcej, po prostu kliknij na nazwę tabeli, aby ją rozwinąć, a następnie na folder kolumn, aby wyświetlić listę wszystkich kolumn.

Uruchamianie zapytań w SSMS

Zanim zajdziemy za daleko, pozwól, że pokażę ci, jak uruchomić zapytanie w SSMS. Jest to naprawdę bardzo proste. Po uruchomieniu SQL Server Management Studio, wybierz bazę danych. Następnie klikamy na przycisk New Query znajdujący się w górnym pasku narzędzi. Spowoduje to wyświetlenie okna zapytania po prawej stronie. Możesz wpisać dowolną rzecz w tym oknie, ponieważ jest to edytor tekstu. Wytnij i wklej lub wpisz instrukcję SQL, a następnie kliknij Wykonaj, aby ją uruchomić. Wyniki wyświetlane są w dolnej części okna, a wszelkie komunikaty, takie jak błędy, wyświetlane są w zakładce komunikaty.

Wybierz wiele kolumn

Aby wybrać więcej niż jedną kolumnę, oddziel je przecinkiem. Na przykład,

SELECT FirstName, LastNameFROM Person.Person

zwraca zarówno imię, jak i nazwisko jako wynik. Na wypadek gdybyś się zastanawiał, możesz mieszać przypadki podczas pisania zapytań. To znaczy

SELECT FirstName, LastNameFROM Person.Person

działa tak samo dobrze jak

select FirstName, LastNamefrom Person.Person

Wskazówka! Powszechną konwencją jest pisanie wszystkich słów kluczowych wielkimi literami. Niektórzy DBA’s uważają, że łatwiej jest czytać polecenia napisane w ten sposób. Osobiście tego nie robię, ale dla tego bloga BĘDĘ PRÓBOWAŁ 🙂

Nazwa kolumn SQL

Możesz zmienić nazwy kolumn, które wynikają z twoich poleceń select. Aby to zrobić, użyj instrukcji AS w następujący sposób:

SELECT LastName as SirNameFROM Person.Person

Wyświetla to wynik jako „SirName” zamiast „LastName”. Jest to fajna funkcja z punktu widzenia próżności, ale przydaje się również, gdy chcemy zwrócić wynik obliczenia i musimy nadać mu nazwę. Na przykład, załóżmy, że chcesz zwrócić LastName dużymi literami. Moglibyśmy napisać

SELECT UPPER(LastName) AS SirNameFROM Customers

UPPER jest znana jako funkcja. SQL Server posiada wiele funkcji, których możesz użyć do wykonania wielu typów obliczeń. Przyjrzymy się im wszystkim później, ale na razie wiedz, że możesz połączyć kilka funkcji razem, aby utworzyć złożone wyrażenie w celu wyprowadzenia danych w sposób, w jaki tego potrzebujesz.

Złożone wyrażenia kolumnowe

Nasza tabela pracowników zawiera oddzielne pola dla imienia i nazwiska. Załóżmy, że dział kadr potrzebuje zobaczyć pełne imię i nazwisko pisane wielkimi literami. Jak byś to zrobił? Proste! Mógłbyś napisać

SELECT UPPER(FirstName) + ' ' + UPPER(LastName) AS FullNameFROM Person.Person

Ta instrukcja może wyglądać na skomplikowaną, ale gdy ją rozłożymy, zobaczysz, że składa się z kilku prostych elementów.

  • Jak się właśnie dowiedziałeś, UPPER jest używane do zwracania wielkich liter w kolumnie.
  • Znak + mówi SQL, aby połączyć dwie wartości razem.

Wszystko w pojedynczych cudzysłowach (’) jest dosłownie wyświetlane tak, jak jest. W naszym przypadku ’ ’ oznacza wyświetlenie pojedynczej spacji. Jeśli przeczytasz nasze wyrażenie po angielsku, będzie ono brzmiało: „Weź duże litery z FirstName, połącz je ze spacją, a następnie dodaj do nich duże litery z LastName.”

Rób matematykę z SQL!

Możesz również sprawić, aby SQL wykonywał za Ciebie sztuczki matematyczne. Może on wykonywać całkiem skomplikowaną arytmetykę, jeśli mu na to pozwolisz. Na dziś pokażę Ci jak pomnożyć dwie liczby, ale równie dobrze możesz dodawać, odejmować lub dzielić. Później zrobimy to bardziej skomplikowane, abyś mógł przeżyć swoje dni z Algebry II 🙂 Oto kilka typowych operatorów matematycznych, których możesz użyć w SQL:

  • * Multiply
  • / Divide
  • + Add
  • – Subtract

Użyjemy tabeli OrderDetails i obliczymy całkowitą cenę poprzez pomnożenie ceny jednostkowej przez ilość.

SELECT UnitPrice, OrderQty, UnitPrice * OrderQty AS TotalFROM Purchasing.PurchaseOrderDetail

Bit ” UnitPrice * OrderQty” mówi, aby pomnożyć UnitPrice przez Quantity.

Be Distinct and Debug

Do tej pory używaliśmy instrukcji select do pobierania wszystkich rekordów w tabeli, niezależnie od tego, czy niektóre wartości powtarzają się, czy nie. Jeśli chcesz, możesz użyć słowa kluczowego DISTINCT, aby usunąć duplikaty z wyników. Na przykład, jeśli chciałbyś zwrócić tylko unikalną listę tytułów pracowników, użyłbyś następującej instrukcji SQL:

SELECT DISTINCT JobTitleFROM HumanResources.Employee

Instrukcja DISTINCT działa również na więcej niż jednej kolumnie. Jeśli chcesz, możesz uzyskać osobną listę tytułów i płci wpisując

SELECT DISTINCT JobTitle, GenderFROM HumanResources.Employee

!Ciekawostka: Słowo kluczowe ALL jest odpowiednikiem DISTINCT i jest zachowaniem domyślnym. Dlatego nie wpisujemy go do naszych instrukcji.

Znajdowanie i poprawianie błędów

Prędzej czy później błędnie wpiszesz instrukcję select w wierszu poleceń i komputer zacznie na Ciebie krzyczeć – „Syntax Error!” lub „Invalid Column Name” Co robić? Pamiętaj, że instrukcja select składa się z dwóch głównych części: SELECT i FROM. Ogólnie rzecz biorąc, baza danych najpierw patrzy, czy te słowa kluczowe są obecne, a jeśli nie są, to wywołuje błąd składni.

To jest po prostu fantazyjne wyrażenie dla „masz błędnie napisane słowo kluczowe lub masz je poza kolejnością” (np. masz Distinct przed Select, jak w DISTINCT SELECT). Po sprawdzeniu słów kluczowych, instrukcja jest sprawdzana, aby upewnić się, że określiłeś tabelę. Gdy tabela jest znana, może sprawdzić kolumny. Tak więc kolejność jest taka, że najpierw sprawdzane są słowa kluczowe, następnie tabele, a na końcu poprawne kolumny. Za każdym razem, gdy wyświetlany jest błąd, przeczytaj go uważnie. Istnieje prawdopodobieństwo, że coś źle wpisałeś. Komputer powie Ci, co źle napisałeś w cudzysłowie; Twoim zadaniem jest znalezienie błędu i poprawienie go.

Ćwiczenia w wybieraniu bazy danych

Ważne jest, aby ćwiczyć! Użyj przykładowej bazy danych, aby odpowiedzieć na te pytania.

  1. Jak możesz znaleźć wszystkie nazwy tabel w bazie danych AdventureWorks2012?
  2. Jakie są dwa sposoby uzyskania nazw wszystkich kolumn w tabeli Person.Person?
  3. Wybierz JobTitle i BirthDate dla wszystkich pracowników.
  4. Jaka byłaby cena jednostkowa każdej pozycji PurchaseOrderDetail, gdyby była wyprzedaż?

Answers are here

Gratulacje! Właśnie dowiedziałeś się, jak używać polecenia select do zapytania do bazy danych. W kolejnych tutorialach zajmiemy się niektórymi obszarami, które dziś omówiliśmy, takimi jak operatory matematyczne i funkcje. Pamiętajcie! Przypominam, że jeśli masz inne pytania, na które chciałbyś uzyskać odpowiedź, to napisz do mnie w komentarzu lub na Twitterze. Jestem tu, aby Ci pomóc.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.