Выбар дадзеных У дыяпазонах ў SQL

Прадстаўляючы дадзены пункт WHERE і BETWEEN ўмовы

Structured Query Language (SQL) прадастаўляе карыстальнік базы дадзеных з магчымасцю стварэння карыстацкіх запытаў для здабывання інфармацыі з баз дадзеных. У папярэдняй артыкуле мы даследавалі здабывання інфармацыі з базы дадзеных з дапамогай SQL SELECT запыты . Раскладзем на гэтую дыскусію і вывучыць , як вы можаце выканаць дадатковыя запыты для вымання дадзеных , які адпавядае пэўным умовам.

Давайце разгледзім прыклад, заснаваны на шырока выкарыстоўванай базе дадзеных Northwind, якія часта судоў з прадуктамі баз дадзеных у якасці падручніка.

Вось вытрымка з табліцы Product ў базах дадзеных:

табліца тавараў
ProductID ProductName SupplierID QuantityPerUnit Цана за адзінку UnitsInStock
1 Chai 1 10 каробак х 20 мяшкоў 18,00 39
2 Чанг 1 24 - 12 унцый бутэлькі 19,00 17
3 аніс Сіроп 1 12 - 550 мл бутэлек 10,00 13
4 Шэф Антон Cajun Заправа 2 48 - 6 унцый банкі 22,00 53
5 Шэф Антона Gumbo Mix 2 36 каробак 21,35 0
6 Boysenberry Spread Бабулін 3 12 - 8 унцый банкі 25,00 120
7 Арганічныя сушаныя грушы дзядзькі Боба 3 12 - 1 фунт pkgs. 30,00 15

Простыя межавыя ўмовы

Першыя абмежаванні мы размяшчаем на нашым запыце ўключаюць простыя межавыя ўмовы. Мы можам паказаць гэта ў сказе WHERE ў запыце на выбарку, выкарыстоўваючы простыя сцвярджэнні умоў, пабудаваных з дапамогай стандартных аператараў, такіх як <,>,> = і <=.


Па-першае, давайце паспрабуем просты запыт, які дазваляе нам атрымаць спіс усіх прадуктаў у базе дадзеных, якія маюць UnitPrice больш 20,00:

ВЫБРАЦЬ ProductName, UnitPrice FROM прадуктаў WHERE UnitPrice> 20,00

Гэта стварае спіс чатырох прадуктаў, як паказана ніжэй:

ProductName UNITPRICE ------- -------- кухар Антон Гамба Mix 21,35 Кухары Антона Cajun Заправа 22,00 Boysenberry Бабулін Спред 25.00 Дзядзькі Боба Organic Сушеные грушы 30.00

Мы таксама можам выкарыстоўваць прапанова WHERE са радковымі значэннямі. Гэта ў асноўным прыраўноўвае сімвалы лікаў, з А, якое прадстаўляе значэнне 1, і Z, якое прадстаўляе значэнне 26. Напрыклад, мы маглі б паказаць усе прадукты з імёнамі, пачынаючы з U, V, W, X, Y або Z з дапамогай наступнага запыту:

ВЫБАР З ProductName прадуктаў, дзе ProductName> = 'T'

Які дае вынік:

Арганічныя Грушы сушаныя ProductName ------- Дзядзькі Боба

Выказваючы Змяняецца з выкарыстаннем межаў

Прапанова WHERE дазваляе таксама рэалізаваць ўмова дыяпазону па значэнні з выкарыстаннем некалькіх умоў. Напрыклад, калі мы хочам, каб прыняць наш запыт вышэй і абмежаваць вынікі прадукцыі з цэнамі паміж 15.00 і 20.00, можна выкарыстоўваць наступны запыт:

ВЫБРАЦЬ ProductName, UnitPrice FROM прадуктаў WHERE UnitPrice> 15,00 І UnitPrice <20,00

Гэта дае вынік, паказаны ніжэй:

ProductName UnitPrice ------- -------- Chai 18,00 19,00 Чанг

Выказваючы Ranges з BETWEEN

SQL таксама забяспечвае хуткі ПАМІЖ сінтаксісу, які памяншае колькасць умоў, якія мы павінны ўключаць у сябе і робіць запыт больш зручным для чытання. Напрыклад, замест таго, каб выкарыстоўваць два дзе ўмовы вышэй, мы маглі б выказаць той жа запыт, як:

ВЫБАР ProductName, UnitPrice З прадуктаў, дзе UnitPrice ПАМІЖ 15.00 і 20.00

Як і з іншымі нашымі стану артыкулаў, сярод твораў са значэннямі радкоў, а таксама. Калі мы хочам, каб скласці спіс усіх краін, пачынаючы з V, W ці X, мы можам выкарыстоўваць запыт:

ВЫБАР ProductName АД прадуктаў ГДЕ ProductName ПАМІЖ «А» і «D»

Які дае вынік:

ProductName ------- аніса сіроп Чай Чанг кухар Антон глейкага Mix Кухар Антон Cajun Заправа

Прапанова WHERE з'яўляецца магутнай часткай мовы SQL, што дазваляе абмежаваць вынікі пошуку значэнняў, якія трапляюць у зададзеных межах. Гэта вельмі часта выкарыстоўваецца, каб дапамагчы выказаць бізнес-логіку і павінна быць часткай інструментара кожнай базы дадзеных прафесіянала.

Гэта часта бывае карысна ўключыць агульныя палажэнні ў зберажоную працэдуру , каб зрабіць яго даступным для тых , хто без ведання SQL.