Прадстаўляючы дадзены пункт 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 ------- -------- кухар Антон Гамба 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.