Database
 sql >> база данни >  >> RDS >> Database

Основни команди на SQL:Как да пишете прости заявки с примери

Тази статия обяснява писането на прости SQL заявки от най-основните и постепенното подобряване на скрипта за решаване на някои математически проблеми и проблеми, свързани с датата. Освен това ще изясним концепциите около SQL заявките.

Въпреки че тази статия е предимно за начинаещи, тя съдържа съвети, които ще бъдат полезни за всяко ниво на опит.

Какво е SQL заявка в базата данни?

Нека първо поговорим малко за SQL заявките, за да ги разберем правилно, преди да придобием практически опит в писането.

SQL означава структуриран език за заявки това е основен език, използван за заявки към релационни бази данни.

T-SQL срещу SQL – Каква е разликата?

T-SQL или Transact-SQL е версията на SQL на Microsoft с повече функции и функции от традиционния SQL език, известен също като ANSI SQL.

Следователно T-SQL е традиционен SQL език плюс още неща, добавени от Microsoft. По-често се използва и споменава, когато говорим за SQL.

Тази статия ще се отнася до версията на Microsoft SQL, независимо дали използваме думата SQL или T-SQL.

Защо използваме SQL заявки в релационна база данни?

Релационната база данни е база данни с ключове, използвани за свързване на таблици, а не за физическо свързване на таблици.

Например имате таблица, наречена Книга която свързвате с друга таблица, наречена BookType чрез клавиши, за да добавите повече значения към записите.

Таблиците на илюстрацията са свързани чрез ключ. Няма нужда да ги свързвате физически. Това е основното правило на релационните бази данни – създавате връзки между двете таблици с помощта на ключ(ове).

Прочетете също релационна база данни срещу NoSQL – какво да изберете за управление на големи данни?

Какво е заявка към база данни?

Запитвате в базата данни, за да получите отговори на въпроси, свързани с тази база данни. С други думи, вие пишете заявки към база данни, за да получите информация за данните, които тя съдържа.

Например, вие се интересувате да видите всички записи на книги заедно с техните типове в конкретната база данни. Трябва да направите заявка към тази база данни, за да видите необходимите данни. За това трябва да напишете и стартирате скрипт срещу базата данни.

Какво ви е необходимо, за да направите заявка?

Трябва да са налице няколко предпоставки, за да се направи заявка към база данни, тъй като не можем просто да пишем и изпълняваме заявка навсякъде срещу каквото и да било.

Следните неща са задължителни за заявка към база данни:

  1. Сървър на база данни като SQL Server (инсталиран локално или отдалечено), където съхранявате базата данни.
  2. Инструмент за управление на база данни като SQL Server Management Studio или dbForge Studio за SQL Server, който ще използвате, за да пишете и изпълнявате вашите заявки
  3. База данни, срещу която изпълнявате заявките си. Можете да създадете всяка примерна база данни за учебни цели.

Освен това трябва да имате основно разбиране за вашата база данни, като например коя таблица съдържа желаната информация и т.н. Разбирането на концепциите за релационни бази данни също е плюс.

Предполагаме, че вече сте изпълнили горните изисквания. Но можете също да се обърнете към следната статия за повече подробности:

Основи на SQL Server Management Studio (SSMS) – част 1

Неща, които трябва да направите, преди да пишете заявки в SQL

Сега ще напишем прости SQL заявки.

Моля, настройте средата, за да започнете да пишете вашите SQL заявки. Пригответе инструментите. Отворете dbForge Studio за SQL Server или SQL Server Management Studio и се свържете със SQL екземпляр. Тук започваме нашето SQL пътуване:

След като свържете успешно, натиснете CTRL+N или отидете на Файл> Нов> Заявка с текуща връзка :

Сега сте успешно свързани към главната (системна база данни) на текущо свързания сървър.

Важен съвет: Винаги създавайте примерна база данни, за да изпълнявате вашите заявки (скриптове) към нея. Изпълнението на заявки към системните бази данни не е добра практика, освен в три случая:

  1. Работите с примерна база данни и след това създаденият за нея скрипт ще се изпълни срещу системната (главната) база данни.
  2. Нарочно правите заявка към основната база данни, за да извлечете някаква информация от нея.
  3. Заявките са безопасни за изпълнение срещу системна (главна) база данни.

Настройте примерна база данни

Нека създадем примерна база данни, наречена BookSimple без никакви маси. Напишете следния скрипт срещу основната база данни, за да създадете примерна база данни и Натиснете F5 за да изпълните заявката:

-- Create sample database BookSimple
USE MASTER
GO

CREATE DATABASE BookSimple
GO

USE BookSimple

Концепцията, базирана на набор, зад SQL заявките

Точно преди да напишете дори най-простата SQL заявка, трябва да разберете, че SQL е език, базиран на набори.

Това означава, че когато искате да направите заявка за вашата база данни с помощта на SQL, трябва да мислите по отношение на набори или групи.

SQL е по дизайн и по подразбиране е много ефективен за обслужване на заявки, базирани на набори. Ако проектирате своите скриптове (заявки), като имате предвид логиката, базирана на набори, вие разбирате и прилагате SQL по-бързо от тези, следващи типичния път на учене (което има своите предимства).

Нека помислим за естествено срещащ се набор, като клас или група. Когато се позоваваме на клас, имаме предвид всички ученици в този клас. SQL може да помогне за запитване на този клас като цяло.

По същия начин, книга е маса с книги. Той съдържа всички записи за книги. Можем просто да направим заявка към тази таблица, сякаш говорим за една книга, но всъщност правим заявка за цялата таблица с книги, представени от Книгата таблица.

По-късно ще видим повече предимства на концепцията, базирана на набори, когато разгледаме някои основни примери.

Прост SQL оператор SELECT

SELECT е T-SQL оператор, който извлича всички или избрани редове и колони (въз основа на критерии) от база данни.

С други думи, SELECT ни позволява да преглеждаме (избираме) данни от таблица или брой таблици въз основа на определени критерии, които, ако не са споменати като цяло, показват всички данни.

Следователно SELECT е първият израз, който трябва да търсим, ако искаме да извлечем редове и колони от база данни. Най-простата форма на SELECT синтаксис е както следва:

SELECT * FROM <Table>

Не забравяйте, че с времето ще променим синтаксиса, за да подобрим постепенно процеса на обучение.

Друг начин да използвате израза SELECT е както следва:

SELECT <Expression>

Изразът може да бъде много неща, включително следното:

  1. Константа (като фиксирано число като 1).
  2. Променлива (като @X, която може да бъде променена на произволно число).
  3. Комбинация от константи или променливи (като 1+2 или @X [email protected]).

Независимо дали използвате SELECT или SELECT * FROM

, трябва да мислите от гледна точка на множествата.

Как да напиша проста SQL заявка

Нека да потърсим BookSimple база данни чрез опресняване на Бази данни възел под Object Explorer. Щракнете с десния бутон върху BookSimple > Нова заявка :

Запишете най-простата SQL заявка – напишете и изпълнете следния скрипт срещу примерната база данни:

-- Display 1
SELECT 1

Изпълнението на заявката (натискане на F5) ще покаже следните резултати:

И така, SELECT 1 връща 1, но с неименувана колона (Без име на колона).

1 е константа. Ще остане 1, така че очакваме и резултатът да бъде 1. Има обаче още едно важно нещо, което трябва да разберете:нашият изход се преобразува в набор от 1 колона и 1 ред. Тъй като не сме предоставили никакво име на колоната и няма включена таблица (от която да получим името), получаваме стойността 1 за неименувана колона на неназована таблица (набор).

Езикът, базиран на набори, автоматично върна предоставената от нас стойност в неименувана колона на неназована таблица с един ред.

Нека наименуваме колоната, като модифицираме скрипта, както следва:

-- Show value 1 for the column Number of an unnamed table (set)
SELECT 1 AS Number

Изпълнете скрипта, за да видите следния набор от резултати този път:

Тъй като тази заявка винаги връща една и съща стойност (число), която въвеждаме (предоставяме), няма много за обсъждане, освен разбирането защо мисленето, базирано на множество, е жизненоважно, за да се разбере как работят заявките.

Изчисление в извлечение за избор

Нека използваме горния случай за бързи изчисления в SQL – превръщаме единичната стойност в израз.

Например, искаме бързо да добавим две числа 1000 и 200. Можем просто да напишем следната заявка, без да споменаваме таблица, използвайки само оператора SELECT:

-- Adding two numbers 1000 and 200 
SELECT 1000+200 AS [Sum Of 1000 And 200]

Резултатът е по-долу:

По същия начин можем да събираме, умножаваме, разделяме и изваждаме числа.

Полезно е да добавите две колони на таблица, съдържаща числови стойности. Въпреки това можем да използваме този подход, за да добавим две променливи. Използването на променливи е полезно, тъй като можем да добавим произволни две числа, като инициализираме тези променливи с желаните стойности. Това е илюстрирано от следния скрипт:

-- SQL script to add any two numbers
DECLARE @X INT, @Y INT, @Addition INT

SET @X=550 -- Initialise variable X with a value (number)
SET @Y=350 -- Initialise variable Y with a value (number)
 
SET @[email protected]@sqldat.com -- SUM X and Y

SELECT @X AS FirstNumber_X,@Y as SecondNumber_Y,@Addition as SumOfNumbers

Изпълнението на скрипта ни показва следния изход:

Можем да запазим тази заявка, за да я използваме повторно по всяко време, за да добавим произволни две числа (чрез промяна на стойностите на @X и @Y). Ако мислим за това като набор, можем да кажем, че изходът се връща като неназована таблица (набор) с един ред и следните три колони:

  1. FirstNumber_X
  2. Втори номер_Y
  3. SumOfNumbers

Можете обаче да направите повече с SELECT с празна база данни (без таблици).

Още един пример за изчисляване на данни

Тук ще използваме функцията GETDATE(), за да извлечем текущата дата и очакваната дата на доставка на неизвестна поръчка, която все още не е част от нашата таблица.

Да приемем, че все още нямаме таблица за поръчки, но искаме бързо да изчислим очакваната дата за доставка на поръчката на продукта. Ако добавим някое число към функцията GETDATE(), тя ще ни каже добавената дата с предоставения номер на дните.

С други думи, ако очакваме датата на доставка на поръчката да е два дни след поставянето на поръчката, можем да я изчислим, като използваме SELECT с GETDATE()+2.

За да го видите в действие, изпълнете следния SQL скрипт:

-- Calculating order date and expected delivery date
SELECT GETDATE() AS [Order Date],GETDATE()+2 as [Expected Delivery Date]

Резултатът е следният:

Този път бихме могли да изчислим очакваната дата на доставка на поръчката директно с помощта на оператора SELECT с функцията GETDATE() при липса на каквато и да е таблица.

Въпреки това, ако имахме таблица, щяхме да получим очакваната дата на доставка за всички поръчки в тази таблица.

Още веднъж, ако анализираме този изход от гледна точка на Set Logic, имаме една неназована таблица (набор) с две колони и един ред. SQL е език, базиран на набори, който работи много бързо с набори, като таблици. Ако таблиците не са там, той третира входните стойности (които трябва да бъдат обработени) като неименувани набори.

Накратко, SQL заявката изисква израз SELECT, последван от израз, за ​​да се направят изчисления, базирани на числа или дата, дори срещу празна база данни (без таблици).

Честито! Научихте основите на SQL заявките и сте написали някои прости заявки с помощта на оператор SELECT спрямо примерна база данни.

Поддържайте връзка, тъй като писането на прости SQL заявки към таблиците на базата данни тепърва предстои.

Неща, които трябва да научите как да пишете по-добре SQL заявки

Сега, когато можете да пишете някои основни SQL заявки, опитайте следните упражнения:

  1. Създайте примерна база данни BookSimple2.
  2. Създайте заявка за умножение на произволни две числа, като ги дефинирате като променливи.
  3. Напишете заявка за създаване на дата на поръчка като текуща дата, дата на изпращане като два дни след датата на поръчката и очаквана дата на доставка като два дни след датата на изпращане.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Обосноваване на новия Mac Pro

  2. Prisma, как да обърна ред

  3. Как да деактивирате плъгини от базата данни на WordPress

  4. Моделът на данните за важните дати

  5. Агрегати и разделяне