msgbartop

Аритметични оператори в SQL, аритметични функции и условни оператори в SQL » Web design and custom web page design, SEO optimization and Internet development

msgbarbottom

Аритметични оператори в SQL, аритметични функции и условни оператори в SQL



История на SQL

Името на SQL е получено от първите букви на Structured Query Language (език за структурирани заявки). Първоначално е бил разработен от IBM за техен продукт. Всъщност SQL прави възможно създаването на RDBMS. SQL е непроцедурен език за разлика от процедурните езици , които се наричат още езици от трето поколение (3 GLs)-като COBOL и C.

Аритметични оператори в SQL

Аритметичните оператори са плюс(+),минус(-),делено(/),умножено(*) и модул(%).  Употребата на първите четири се подразбира от техните имена. Модулът връща остатъка при целочислено деление. Ето и два примера за неговото използване:

  • 5%2=1
  • 6%2=0

Операторът “модул” не работи с типове данни,които не са целочислени като Real и Number.
Ако поставим няколко аритметични оператора в израз без да ги разделим със скоби,те ще се обработят в следния ред:умножение,деление,модул,събиране и изваждане. Например:

2*6+9/3=12+3=15
Обаче изразът
2*(6+9)/3=2*15/3=10

Трябва да внимаваме къде поставяме скобите.Понякога изразът прави точно това, което му кажем, а не което искаме.

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

ПЛЮС(+)

Може да се използва знака плюс по няколко начина.
SQL позволява създаването на виртуални или производни колони чрез комбиниране или модифициране на съществуващи стълбове. Можем да променяме имената на колоните динамично. Можем да я преименуваме като използваме синтаксиса column_name alias.
Използването на знака плюс в оператора SELECT се извършват изчисления с данни и да се покаже резултата от тях. Използването на оператори с WHERE позволява  по-голяма гъвкавост при определяне на условията за извличане на данни от базата данни.
В някои от реализациите на SQL знакът плюс има две задачи, защото служи и като оператор за работа със символи.

МИНУС(-)

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

ДЕЛЕНО(/)

Операторът за деление има само една очевидна функция. Използването на оператора за деление, в SELECT оператор в някои случаи е праволинейно ( с изключение на това, че малко трудно ще се справим с половинките).

УМНОЖЕНО(*)

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

МОДУЛ(%)

Операторът за модул връща цялата част при деление (остатък). Можем да създадем нова колона за остатък. В някой от реализациите на SQL , този оператор е заместен от функцията MOD.

В тази част се разглежда приоритета на операторите в SELECT израза.

Аритметични функции в SQL

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

ABS

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

CEIL и FLOOR

CEIL връща най-малкото цяло число, което е по-голямо или равно на неговият аргумент.
FLOOR връща най-голямото цяло число, което е равно или по-малко от неговият аргумент.

COS, COSH, SIN, SINH, TAN, TANH

Функциите COS, SIN и TAN осигуряват поддръжка на тригонометричните функции. Всички те приемат аргумент n, които трябва да бъде в радиани. Колонката в която се нанася COS трябва да бъде превърната от градуси в радиани, за да се получат реални резултати.

EXP

EXP позволява повдигането на “e” (“e” е математична константа, използвана в различни математически формули) в зададена степен.

LN и LOG

Тези две функции LN и LOG се използват за изчисляване на логаритми. LN връща неутрален логаритъм от аргумента си. Аргумента трябва да бъде положително число. Можем да вложим функцията ABS в извикването на LN. Другата логаритмична функция LOG , приема два аргумента и връща логаритъм от първия при основа втория.

MOD

Когато разгледахме стандартният ANSI оператор за модул % споменахме , че някъде той се реализира и като функцията MOD. Тук се дава заявка и таблицата връща остатъците при делението на колоните.

POWER

За да повдигнем едно число на степен , равна на друго число, трябва да използваме функцията POWER. При тази функция първият аргумент се повдига на степен равна на втория. Първият аргумент може да бъде отрицателно число и да бъде повдигнато в степен. Просто, когато първият аргумент на функцията POWER е отрицателно число, вторият трябва да бъде цяло число. Можем да решим този проблем като използваме CEEL ( или FLOOR).

SIGN

SIGN връща -1, ако неговият аргумент е по-малък от 0 , 0 ако е равен на 0 и 1 ако е по-голям от 0. Можем да използваме SIGN в SELECT условието WHERE.

SQRT

Функцията SQRT връща квадратен корен от аргумента. Понеже квадратните корени на отрицателните числа не са дефинирани , не може да използваме SQRT с отрицателно число. Можем да преодолеем тези ограничения с помощта на функцията ABS.

Условни оператори в SQL

Условните оператори в SQL са:

  • WHERE
  • STARTING WITH
  • ORDER BY
  • GROUP BY
  • HAVING

Първо се използва SELECT , той се следва от FROM , които трябва да присъства във всеки SELECT израз. След това са WHERE , GROUP BY , HAVING и ORDER BY. Всяко условие играе важна роля при избирането и обработването на данните.

Условният оператор WHERE

Когато използваме само SELECT и FROM ние сме ограничени от това , че те могат да връщат само всички редове в дадена таблица. Ако обаче използваме и WHERE , можем да създадем по-избирателна заявка.

WHERE може да решава и други проблеми. Ако имаме една таблица с имена и места можем да зададем въпроса Where’s … .

Тази заявка показва ,че колоната използвана в условието WHERE не е необходимо да бъде споменато в оператора SELECT. Използването на WHERE в друга колона е възможно и напълно вярно.

След SELECT и FROM , WHERE е третата по честота на използване ключова дума в SQL.

Условният оператор STARTING WHIT

STARTING WITH е добавка към условието WHERE и работи точно като LIKE (<exp>%). STARTING WITH се използва и се среща в повечето от реализациите на SQL.

Условният оператор ORDER BY

От време на време е необходимо да представим резултатите от заявките с някаква подредба. Обаче SELECT  FROM извеждат списък , в които ако не е бил дефиниран ключ ще изведе елементите в реда в които сме ги въвели.

Условието ORDER BY дава начин за подреждането на получените операции. Например , за да сортираме списък по номера на чековете ще го използваме. След това данните са подредени по начина , по които искаме , а не по начина , по които сме ги въвели. Също така ORDER не може да се използва без BY.

Можем да изведем данни в обратен ред , при което най-големите числа и низове да са първи. Ключовата дума DECS в края на оператора ORDER BY подрежда списъка в низходящ ред , вместо във възходящ ред. ASC се използва по подразбиране.

Можем да използваме ORDER BY и с повече от едно поле. Някои от полетата в оператора поставя елементите в азбучен ред. В една заявка може едната колона да е изведена в азбучен ред , а другата да е изведена в ред обратен на азбучния.

Ако знаем,че колоната , според която искаме да сортираме резултата е първа в таблицата , можем да напишем ORDER BY1 вместо цялото и име.

Условният оператор GROUP BY

Чрез условието GROUP BY в SQL можем да разберем например в една колона на дадена таблица , на кой човек по колко пари сме дали по отделно.

SQL се оплаква от комбинацията на нормална колона с обобщаваща функция. Това положение изисква използването на условието GROUP BY. GROUP BY извършва обобщаващата функция описана в SELECT израза за всяка група от еднакви елементи в зададената му като параметър колона.
GROUP BY изпълнява и ролята на условието ORDER BY.
Правило: Не използвайте SELECT с колони , които имат по няколко стойности за стълба използван в GROUP BY. Обратното не е вярно. Можем да използваме GROUP BY с колони които не са зададени в оператора SELECT.

Условният оператор HAVING

Ако желаем да групираме резултата по отдели и да покажем средната заплата на всеки по отделно , ще е необходимо да използваме нов оператор: условието HAVING.

HAVING позволява използването на обобщаващи функции в сравнителни изрази.
Някои реализации на SQL ще върнат грешка , ако използваме нещо различно от обобщаващата функция в оператора HAVING.

Можем да използваме обобщаващите функции в оператора HAVING , които не са зададени в SELECT. Всички логически оператори работят нормално с HAVING. Оператора IN също работи с HAVING.

No related posts.

Web design and SEO topics: , ,



Leave a Comment