Ключова разлика – къде срещу наличието на клауза в SQL
Данните са важни за всяка организация. Следователно е необходимо данните да се съхраняват по организиран начин, за да се извличат. Данните се съхраняват в таблици. Базата данни се състои от колекция от таблици. Един общ тип база данни са релационните бази данни. В релационна база данни таблиците са свързани една с друга. Например клиентът на масата е свързан с масата за поръчки. Система за управление на релационна база данни (RDBMS) е система за управление на база данни, която се основава на релационен модел. Използва се за управление на релационни бази данни. Някои примери за RDBMS са MySQL, MSSQL и Oracle. Езикът за структурирани заявки (SQL) е езикът, използван за манипулиране и извличане на данни в релационна база данни. В SQL има различни клаузи за изпълнение на различни задачи. Две от тях са къде и имащи. Тази статия обсъжда разликата между клауза where и клауза за наличие в SQL. Ключовата разлика между клаузата where и having в SQL е, че клаузата where се използва за филтриране на записи преди групиране или агрегиране, докато клаузата having се използва за филтриране на записи след групиране или агрегиране.
Каква е клаузата where в SQL?
Помага за извличане, актуализиране или изтриване на определен набор от данни от таблицата според даденото условие. Програмистът може да използва клауза where, за да ограничи и извлече само необходимите данни. Заявката се изпълнява само върху записите, където условието, посочено от клаузата where, е вярно. Може да се използва с избор, актуализиране и изтриване.
Вижте таблицата на учениците по-долу,
За да изберете името и възрастта на ученика, чийто student_id е равен на 3, може да се използва следната SQL заявка.
изберете име, възраст от ученик, където student_id=3;
Възможно е също да използвате оператори като не е равно на (!=), по-голямо от (>), по-малко от (=), по-малко или равно на (<=). За да изберете student_id и име, чиято възраст не е равна на 15, може да се използва следната SQL заявка.
изберете student_id, име от възрастта на ученика!=15;
За да промените възрастта на ученика от 2 до 13 години, може да се използва следната заявка.
актуализиране на зададена възраст на ученик=13, където id=3;
За да изтриете запис, чийто student_id е 4, може да се използва следната заявка.
изтриване от студент, където student_id=4;
Операторите and, or могат да се използват за комбиниране на множество условия.
изберете име от ученик, където student_id=1 и възраст=15; заявката ще извлече името Ann.
Това са някои примери за клауза where в SQL. Ако има клауза Group By, клаузата where се появява преди нея.
Какво е клауза за притежаване в SQL?
Има функции, предоставени от езика SQL за лесно извършване на изчисления. Те са известни като агрегиращи функции. Min () се използва за намиране на най-малката стойност на избраната колона. Max () се използва за намиране на максималната стойност на избраната колона. avg () се използва за намиране на средната стойност в колоната, а sum () се използва за намиране на общата стойност на колоната. Това са някои примери за агрегиращи функции. Вижте таблицата за поръчки по-долу,
Програмистът може да напише SQL заявката, както следва, за да извлече клиентите, чийто баланс е повече от 2000.
изберетеот група поръчки по клиент със сума (салдо) > 2000.
Това ще отпечата записите на клиентите, чиято сума на баланса е по-голяма от 2000. Ще отпечата записите на клиентите Ан и Алекс.
Клаузата за притежаване се използва за извличане на стойностите за групите, които отговарят на определени условия. Следователно групата, която попада в даденото условие, ще се появи като резултат от това. Клаузата за притежаване се появява след клаузата за групиране. Ако клаузата за групиране не е налице, тогава клаузата за имане ще работи подобно на клаузата where.
Какви са приликите между клауза where и having в SQL?
- И двете са клаузи в езика за структурирани заявки.
- И двете могат да се използват за филтриране и извличане на набор от данни.
Каква е разликата между клаузата where и клаузата за наличие в SQL?
където срещу наличието на клауза в SQL |
|
Където е SQL клауза, която се използва за указване на условие при извличане на данните от една таблица или чрез обединяване с множество таблици. | Имането е SQL клауза, която указва, че SQL команда за избор трябва да връща само редове, където сборните стойности отговарят на посочените условия. |
Предназначение | |
Клаузата where се използва за филтриране на редове. | Клаузата за притежаване се използва за филтриране на групи. |
Агрегация | |
Клаузата where не може да се използва с функции за агрегиране, освен ако не е в подзаявка, съдържаща се в клауза Having. | Функциите за агрегиране могат да се използват с клаузата за наличие. |
Метод на филтриране | |
Клаузата where се държи като предварителен филтър. | Клаузата за притежаване се държи като пост филтър. |
Групиране по ред на клаузите | |
Клаузата where се използва преди клаузата Group By. | Клаузата за притежаване се използва след клаузата Групиране по. |
Използван с | |
Клаузата where може да се използва с select, update и delete. | Клаузата за притежаване се използва само с select. |
Резюме – където срещу наличието на клауза в SQL
Езикът за структурирани заявки (SQL) е езикът, използван в релационни бази данни. Където имаме две клаузи в SQL. Тази статия обсъди разликата между клауза where и have. Разликата между клаузата where и having в SQL е, че where се използва за филтриране на записи преди групиране или агрегиране, докато Having се използва за филтриране на записи след групиране или агрегиране.