Coalesce sql: описание, използване, примери
Когато компилирате SQL-Queries, често се случва, че когато избирате данни, трябва да сравнявате стойностите на няколко колони и да изведете един от тях, който съдържа данни (не празни). Този проблем е напълно разрешен от израза "Коалес". В тази статия ще намерите пълно описание на израза Coalesce sql, описание на характеристиките на употребата, както и примери.
съдържание
Изход на стойности, които не са нула, използвайки Coalesce. Удобства
Помислете за характеристиките на Sql Coalesce:
- Придава указание за произволен брой аргументи (за разлика от Isnull / Nvl / Nvl2, броят на аргументите, в които е ограничен).
- Може да приеме подчинените като аргумент.
- Връща резултата равен на първата различна от Null или Null, ако не е намерена стойност, различна от Null.
- Sql Coalesce може да се използва в клаузата за избор, за да изберете празна стойност, а също и в Къде да укажете, че набор от колони с празни стойности не е разрешен (/ разрешен).
- Този израз е еквивалентен на използването на израза на казуса, който проверява последователно всеки аргумент за условието Когато argument1 не е null след това argument1. Всъщност, Coalesce е "пряк път", предназначен за лесна употреба, а в много оптимизатори на заявки за DBMS пренаписва израза Coalesce на Case.
- Sql Coalesce функциите са достъпни във всички водещи релационни системи за управление на бази данни.
Синтаксис Коалес
Всеки, който някога е използвал Coalesce, за да компилира SQL-Queries, знае, че синтаксисът на този израз е изключително прост. Достатъчно е да посочите в скоби аргументи, проверени на Null, разделени със запетаи. Ако приемем, че аргументите имат имената arg1, arg2, hellip-argN, тогава коалесовия синтаксис ще изглежда така:
Коалес (arg1, arg2, hellip- argN).
Нека подготвим няколко таблици за изучаване на механизма на този израз.
Подготовка на маси
За да разберем по-добре описанието на Coalesce sql, ще създадем в базата данни две таблици, съдържащи информация за обектите на недвижимите имоти.
Първата областна таблица трябва да съдържа имената на обектите за недвижими имоти и тяхната област. Районът може да бъде прецизиран (area_yt) или деклариран (area_decl).
идентификатор | object_name | area_yt | area_decl |
1 | Сграда 1 | 116,2 | 114 |
2 | Незавършена конструктивна цел 1 | 568 | |
3 | Стая 1 | 64.7 | |
4 | Стая 2 | 34.2 | |
5 | Парцел 1 | 112 | 111,6 |
6 | Механизъм 1 | ||
7 | Стаи 3 | 27.9 | |
8 | Строителство 2 | 37.2 | 36.4 |
9 | Сграда 2 |
Втората таблица Basic_characteristic let съдържа информация за основните характеристики на свойството - Extension, Depth, Area, Scope, Height.
идентификатор | object_name | разширение | дълбочина | област | обхват | височина |
1 | Сграда 1 | 892,4 | 30 | |||
2 | Сграда 2 | 48 | ||||
3 | Механизъм 1 | 164,7 | ||||
4 | Парцел 1 | |||||
5 | Стая 1 | 23.6 | ||||
6 | Стая 2 | 34.7 | ||||
7 | Стаи 3 | 19.8 |
Разгледахме синтаксиса на Coalesce sql, описанието, характеристиките на употребата и продължихме директно към примерите.
Примери за използване
Синтаксисът на израза Coalesce е изключително прост, но е важно да запомните, че резултатът от командата ще бъде FIRST не празна стойност, намерена от списъка с аргументи. Тази забележка е много важна, така че аргументите в израза трябва да бъдат поставени в ред на важност. Най-лесният начин да разберете принципа на таблицата на района. Направете заявка, която избира името на имота, както и стойността на района:
SELECT Area.id, Area.object_name, обединяване (Area.area_yt, Area.area_decl) От района |
И да получите резултата:
идентификатор | object_name | сливам |
1 | Сграда 1 | 116,2 |
2 | Незавършена конструктивна цел 1 | 568 |
3 | Стая 1 | 64.7 |
4 | Стая 2 | 34.2 |
5 | Парцел 1 | 112 |
6 | Механизъм 1 | |
7 | Стаи 3 | 27.9 |
8 | Строителство 2 | 37.2 |
9 | Сграда 2 |
За обектите "Сграда 1", "Парцел 1" и "Строеж 2" бяха попълнени двете стойности на района, но в приоритет бе рафинирана площта, тъй като първо я посочихме в списъка с аргументи. Изразът "Коалес" намери първата не празна стойност и я изведе, спирайки по-нататъшното преглеждане на аргументите. Това конструиране на заявката е правилно, защото определената област е по-специфична от декларираната. Ако посочим областта, обявена за първи аргумент, тогава ако това поле на таблицата е пълна, то ще бъде приоритетно.
В допълнение към използването в Select, много често изразът Coalesce се прилага с клаузата Where. Той ви позволява да изрежете от резултата онези редове, в които списъкът с полета е празен (или обратно, включете само тези стойности във резултата, където списъкът с полета не е попълнен). Тази ситуация е навсякъде: например, по време на регистрирането на нов служител, в базата данни е въведена само основна информация за служителя, а подробната информация е оставена "за по-късно". Постепенно "пропуските" се издигат - преди проверката или при изпращане на служителя на почивка / бизнес пътуване / отпуск по болест.
Изберете от таблицата основните характеристики на обектите за недвижими имоти, които нямат нито една от стойностите на характеристиките:
SELECT id, object_name От Basic_characteristic Където се обединява (разширение, дълбочина, площ, обхват, височина) е нула |
За тази заявка има едно съвпадение в таблицата - обект "Парцел 1", в който всички полета с характеристики са празни:
идентификатор | object_name |
4 | Парцел 1 |
Надяваме се, че подробното описание на Coalesce sql ви помогна да разберете всички характеристики на използването на този израз, както и да се справите с важни нюанси.
- "Да направиш ядки" е фразеология. Значение и примери
- Как да съставим таблица на истината за сложно булево изразяване
- SQL отделни: описание, примери, свойства
- Изборът (SQL)
- Интерполация в Excel: функции, процедури и примери
- Основни SQL изрази
- Как да съставя SQL заявки - подробни примери
- Формули в "Excel". Таблица "Excel" - формули
- SQL (типове данни): таблица
- SQL Къде: методи на прилагане и примери
- Функция `INDEX` в Excel: описание, приложение и примери
- Какво прави функцията SQL CONCAT?
- Как да изчислите модул в Excel
- Функцията за създаване на таблица в SQL - Създаване на таблица
- Функция за табулация: как да напиша програма?
- Функция "Ако" в Excel
- Създаване на SQL таблица стъпка по стъпка
- Printf C: описание, форматиране, примери
- Деклариране на SQL: описание. Transact-SQL
- Практиката за използване на функцията MySQL
- Линейна регресия