Pierwszą rzeczą, którą wykonujemy po połączeniu z naszy serverem jest wskazanie bazy danych, na której uruchamiane będą zapytania Query. Służy do tego polecenie „USE„. Wykonanie wygląda następująco:

use [adventureworks2014];
go

lub:

use adventureworks2014;

Tak jak pozostałych językach SQL, podstawowym poleceniem jest polecenie SELECT. Korzystając z bazy AdventureWorks2014, którą wgraliśmy podczas instalacji, przykładowe polecenie wygląda następująco:

USE [AdventureWorks2014];
go
SELECT 'HELLO WORLD';
go

Korzystając z klienta SQLServer Management Studio, zapytania zatwierdzamy i wykonujemy przy pomocy klawisza F5, Jak widać w powyższym zapytaniu nie określamy tabeli, z której nasze dane zostaną wywołane. Jedyne, co określamy to bazę, na której zapytanie zostanie wykonane oraz tekst, który ma pojawić się w wyniku zapytania. Odnosząc się do bazy AdventureWorks, przykładowe zapytanie z wykorzystaniem tabel wyglądać będzie następująco:

USE [AdventureWorks2014];
go
SELECT * from HumanResources.Department;
go

Wynikiem powyższego zapytania są wszystkie kolumny oraz rekordy zawarte w tabeli HumanResources.Department. Tabelę, z której wybieramy nasze dane określamy w klauzulu „FROM„. Znak gwiazdki ALL”*” używamy, gdy chcemy uzyskać wynik zawierający wszystkie kolumny w danej tabeli.  W momencie, gdy chcemy, by jedynie niektóre kolumny z naszej tabeli zostały wyświetlone, określamy je używając nazwy kolumn wymienionych po przecinku jak w poniższym zapytaniu:

USE [AdventureWorks2014];
go
SELECT
SalesOrderID,
UnitPriceDiscount,
ProductID
from Sales.SalesOrderDetail;
go

Jak widzimy wynik naszego zapytania zwraca kilkadziesiąt tysięcy rekordów. My oczywiście wszystkich nie musimy widzieć. Liczbę rekordów wyświetlanych możemy ograniczyć np do 10 stosując polecenie TOP jak w poniższym zapytaniu. Polecenie działa analogicznie jak polecenie Limit na bazach MySQL i określa nam liczbę rekordów, którą chcemy pokazać.

USE [AdventureWorks2014];
go
SELECT top 10
SalesOrderID,
UnitPriceDiscount,
ProductID
from Sales.SalesOrderDetail;
go

Powyższe zapytanie określa nam limit wyświetlanych rekordów. Co jednak, gdy chcemy określić warunki dla rekordów, które chcemy widzieć w wyniku? Wykorzystujemy do tego celu klauzulę WHERE. Za jej pomocą możemy określić, jakie warunki mają spełniać konkretne kolumny, które chcemy wyświetlić. Dla przykładu z tabeli production.Product chcemy wyświetlić wszystkie produkty, o kolorze czarnym i podkategorii o numerach 12 lub 14:

USE [AdventureWorks2014];
go
SELECT *
from production.Product
where color = 'Black'
and (ProductSubcategoryID = 14 or ProductSubcategoryID = 12)
;
go

Jak widzimy powyżej warunki możemy łączyć ze sobą, używając do tego np operatorów „AND” lub „OR„.  Dbamy o to, by warunki w połączeniu ze sobą tworzyły logiczną całość. W przypadku, gdy chcemy wyświetlić rekordy bez powtórzeń stosujemy do tego frazę DISTINCT jak w poniższym zapytaniu.

USE [AdventureWorks2014];
go
SELECT distinct ProductSubcategoryID
,color
from production.Product
where color = 'Black'
and (ProductSubcategoryID = 14 or ProductSubcategoryID = 12)
;
go

Podsumowując powyższe, proste, modelowe zapytanie SQL wygląda następująco:

USE [nasza_baza];
go
/*
Poniżej model prostego zapytania
*/
SELECT
wybrane_kolumny --określamy kolumny
from
nazwa_tabeli --określamy obiekt tabela/widok, z którego korzystamy
where
nasze_warunki;-- określamy warunki
go

Jak widzimy powyżej do tworzenia adnotacji w kodzie SQL służą nam następujące oznaczenia : — lub /**/ . Bloki kodu poprzedzone w ten sposób nie będą wykonywane. Mogą nam one posłużyć do wpisania komentarza.