Одним з найбільш поширених мовпрограмування для роботи з базами даних вважається SQL. Конструкції мови дозволяють не тільки створити базу, а й проводити з нею різноманітні маніпуляції на зміну даних або їх вибірку.
Для вибору даних з бази використовується конструкціяSelect [набір даних] from [ім'я таблиці]. Як показує досвід, в 80% випадків використання запитів на вибірку даних потрібно застосовувати різноманітні умови - параметри. Для цього в мову, як додаток до запиту, його ускладнення, введено умова SQL-Where.
Досить часто програмісту необхідно відібрати,в основному для надання звіту, дані, що зберігаються в базі. Для цього може бути недостатньо побудувати простий запит на вибірку. Як правило, необхідно ще враховувати різноманітні умови, параметри вибірки, яких може бути досить багато, або перевіряти. чи входять дані в окреслений діапазон або знаходяться в певній таблиці.
Конструкція SQL-Where може бути використана для завдання умов вибірки даних або для перевірки входження даних у вибірку або сторонню таблицю.
Якщо потрібно задати певні параметри для вибору з бази звітних даних, синтаксис конструкції SQL-Where можна організувати досить просто. Для цього можна скористатися такими правилами:
Потрібно збудувати стандартний запит, за допомогою конструкції Select * from.
Визначити за допомогою ключової конструкції Join, з яких таблиць буде робитися вибір.
За допомогою конструкції Where задати перелік параметрів для вибірки.
Такого роду запити досить прості в побудові і не викликають труднощів навіть у новачків.
Якщо програмісту поставлена задача не тільки вибрати з таблиці дані за умовою, а й перевірити їх входження в одну або кілька таблиць іншого плану, конструкція SQL-Where буде незамінна.
За допомогою синтаксису цієї конструкції можна побудувати ті ж умови, але з вкладеними запитами, які будуть перевіряти входження обираних рядків в набір сторонніх таблиць бази даних.
Як правило, для таких цілей формується тимчасова таблиця, в яку записується весь необхідний, для перевірки входження набір даних.
Зараз будуть наведені приклади Where SQL. Для почав уявімо, що є дві таблиці з даними - Tovar і TovarAmount. У першій є назви товару, що продається, ціна, дата продажу і клієнт, який придбав товар. У другій вказано наявність товару, а якщо точніше, який є в наявності.
Прикладом запиту з параметром, який вкаже всі товари, продані за певну кількість днів, буде конструкція наступного характеру:
Select * from Tovar
Where T_Date> = '12 / 01/2016 'and T_Date <=' '12 / 07/1016 and T_PriceOut> 0
Такого плану запит поверне список товарів, даних з таблиці, які були продані за перші сім днів грудня, на що вказує одна з умов вибірки: T_PriceOut> 0.
Якщо ж розглянути умова виведення товарів, які є в наявності, то конструкція буде такого плану:
Select * from Tovar
Where T_Tovar in (select TA_Tovar where TA_ Amount> 0)
Вкладених умов в Where може бути багато, алеварто згадати, що чим більше умов накладається, тим довше буде працювати запит. Саме це стало причиною використання тимчасових таблиць. Набагато швидше сформувати кілька таких, а потім порівняти дані в них, ніж будувати умова з декількома рівнями перевірки даних.
</ P>>