Конструкції оператора select 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Конструкції оператора select



DISTINCT

Пропускає рядки, в яких всі вибрані поля ідентичні, тобто усуває дублювання даних.

WHERE

Умовна команда Select, яка дозволяє встановлювати предикати, умова яких може бути вірною або невірною для будь-якого рядка таблиці. Витягуються тільки ті рядки, для яких таке твердження вірне. Наприклад:

SELECT u_id,lname from publishers WHERE city ='New York'

Виводить колонки u_id і lname з таблиці publishers для яких значення в стовпці city має значення 'new York'. Це дає можливість зробити запит конкретнішим.

Реляційні оператори Реляційний оператор - математичний символ, який вказує на певний тип

порівняння між двома значеннями. Реляційні оператори, які має в своєму розпорядженні SQL:

· = Рівно

· Більше

· < Менше

· >=Більше або рівно

· <=Менше або рівно

· < >Не рівно

Припустимо що ви хочете побачити всіх замовників з оцінкою(rating) вище 200. Оскільки 200 - це скалярне значення, як і значення в стовпці оцінки, для їх порівняння ви можете використовувати реляційного оператора.

SELECT * FROM Customers WHERE rating > 200 Булеві оператори

Основні Булеві оператори також розпізнаються в SQL. Вирази Буля - є або вірними, або невірними, подібно до предикатів. Булеві оператори зв'язують одне або більше значень і проводять єдине вірне або невірне значення. Стандартними операторами Буля розпізнаваними в SQL є: AND, OR, і NOT.

Припустимо ви хочете бачити всіх замовників в Далласі, які мають рейтинг вище 200:

SELECT * FROM Customers WHERE city = 'Dallas' AND rating > 200

При використанні оператора AND, повинні виконуватись обидві умови, тобто повинні бути вибрані всі замовники з Далласа, рейтинг яких більше 200.

При використанні оператора OR, може виконуватись одна з умов, наприклад:

SELECT * FROM Customers WHERE city = 'Dallas' OR rating > 200

В даному випадку будуть вибрані всі замовники з Далласа або всі які мають рейтинг більше 200, навіть якщо вони не з Далласа.

NOT може використовуватися для інвертування значень Буля. Приклад запиту з NOT:

SELECT * FROM Customers WHERE city = 'Dallas' OR NOT rating > 200 При такому запиті будуть вибрані всі замовники з Далласа або всі

замовники, рейтинг яких менше 200.В цьому запиті оператор NOT застосовується тільки до виразу rating >200. Можна зробити складніший запит:

SELECT * FROM Customers WHERE NOT(city = 'Dallas' OR rating > 200)

У цьому запиті NOT застосований до обох виразів в дужках. В даному випадку, сервер читає вирази в дужках, визначає, чи відповідає істині рівність city = 'Dallas' або рівність rating > 200. Якщо будь-яка умова вірна, вираз Буля усередині круглих дужок вірний. Проте, якщо вираз Буля усередині круглих дужок - вірний, предикат як єдине ціле невірний, тому що NOT перетворить вірно в невірно і навпаки. Тобто, будуть вибрані всі замовники що не знаходяться в Далласі і рейтинг яких менше 200.

IN

Оператор IN визначає набір значень, в яке дане значення може або не може бути включене. Наприклад запит:

SELECT * FROM Salespeople WHERE city = 'Barcelona' OR city = 'London' може бути переписаний простіше:

SELECT * FROM Salespeople WHERE city IN ('Barcelona', 'London')

IN визначає набір значень за допомогою імен членів набору вставлних в круглі дужки і відокремлених комами. Потім він перевіряє різні значення вказаного, намагаючись знайти збіг із значеннями з набору. Якщо це трапляється, то предикат вірний. Коли набір містить значення номерів, а не символів, одиночні лапки опускаються.

BETWEEN

Оператор BETWEEN схожий на оператор IN. У відмінності від визначення по номерах з набору, як це робить IN, BETWEEN визначає діапазон, значення якого повинні зменшуватися, що робить предикат вірним. Ви повинні ввести ключове слово BETWEEN з початковим значенням, ключове AND і кінцеве значення. На відміну від IN, BETWEEN чутливий до порядку, і перше значення в умові повинне бути першим по алфавітному або числовому порядку, наприклад:

SELECT * FROM Salespeople WHERE comm BETWEEN.10 AND.12 SELECT * FROM Salespeople WHERE city BETWEEN 'Berlin' AND 'London'

LIKE

LIKE застосовується тільки до полів типу CHAR або VARCHAR, з якими він використовується, щоб знаходити підрядки. Тобто він шукає поле символу щоб бачити, чи співпадає з умовою частина його рядка. Як умову він використовує групові символи - спеціальні символи, які можуть відповідати чому-небудь. Є два типи групових символів використовуваних з LIKE:

· символ підкреслення «_» заміщає будь-який одиничний символ.

· знак «%», заміщає будь-яку кількість символів.

Якщо ми задамо наступні умови:

SELECT * FROM Customers WHERE fname LIKE 'J%'

то будуть вибрані всі замовники, чиї імена починаються на J: john, jerry, james і так далі.

COUNT

Агрегатна функція, робить підрахунок значень в стовпці або числа рядків в таблиці. При роботі із стовпцем використовує DISTINCT як аргумент:

SELECT COUNT (DISTINCT snum) FROM Orders При підрахунку рядків має синтаксис:

SELECT COUNT (*) FROM Customers

GROUP BY

Умова GROUP BY дозволяє визначати підмножину значень в особливому полі в термінах іншого поля, і застосовувати функцію агрегату до підмножини. Це дає можливість об'єднувати поля і агрегатні функції в єдиній умові SELECT. Наприклад, припустимо що ви хочете знайти найбільшу суму покупок отриману кожним продавцем. Ви можете зробити роздільний запит для кожного з них, вибравши MAX () з таблиці для кожного значення поля. GROUP BY дозволить Вам помістити їх всіх в одну команду:

SELECT snum, MAX (amt) FROM Orders GROUP BY snum

HAVING

HAVING визначає критерії, що використовуються для видалення певних груп з результатів запиту, точно так як умова WHERE робить це для індивідуальних рядків, наприклад:

SELECT cid, cname, price, max(price) //max() - це також агрегатна функція FROM customers HAVING max(price) >500

HAVING діє схоже з Where, але з WHERE не можна використовувати агрегатні функції.

ORDER BY

Ця команда упорядковує виведення запиту згідно значення в тій або іншій кількості вибраних стовпців. Чисельні стовпці упорядковуються один всередині іншого, так як з GROUP BY.

DESC, ASC

Desc - descedent, вивід даних в зворотньому порядку (за абеткою і чисельним значенням), по замовчуванню використовується ASC.

Завдання

1. Вивчити призначення та написання основних операторів мови SQL.

2. Розібрати приклади використання основних операторів мови SQL.

 

Самостійна робота №11

Огляд мови програмування Java

Довідкові відомості

Огляд можливостей мови java

Мова Java – це об'єктно–орієнтована, незалежна від платформи мова програмування, яка використовується для розробки розподілених застосувань, що працюють в мережі Internet.

Проект Java був представлений корпорацією Sun Microsystems в

1995 році. Система програмування Java дозволяє використовувати World Wide Web для реалізації невеликих інтерактивних прикладних програм – аплетів. Вони розміщуються на серверах Internet, транспортуються по мережі, автоматично встановлюються і запускаються на стороні клієнта як частина документа WWW. Аплет використовує обмежений доступ до ресурсів комп'ютера клієнта, тому він без ризику пошкодження даних на диску може надати довільний мультимедійний інтерфейс, виконувати складні обчислення та інше.

Другим видом програм Java є додатки, що являють собою переносимі коди, які можуть виконуватися на будь–якому комп'ютері, незалежно від його архітектури. Код, що генерується при цьому, представляє собою набір інструкцій для виконання на інтерпретаторі віртуального коду – віртуальній Java-машині (JVM – Java Virtual Machine).

Широкого поширення набули також сервлети та JSP (Java Server Pages), що надають клієнтам можливість доступу до баз даних і додатків на сервері.

Мова Java побудована на синтаксисі мови C++, проте об'єктна модель використана з мови Smalltalk. З цього виходить, що вся схожість з С++ тільки зовнішня. Основні відмінності від від інших мов програмування пов'язані з необхідністю зменшення розмірів програм і збільшення вимог до безпеки переносимих додатків, що працюють в мережі. Java не має вказівного типу даних, що можливо в мовах типу С++, Pascal, а тому збільшує стан захисту пам’яті, звільнившись від роботи з довільними адресами в ній через вказівники. В мові Java змінилися способи обчислень з плаваючою арифметикою, тому, щоб забезпечити переносимість коду між версіями мови, введено ключове слово strictfp, яке вказує компілятору як виконувати арифметичні дії для чисел з плаваючою комою по моделі обчислень попередньої версії.

Системна бібліотека класів мови містить класи та пакети, що реалізують різні базові можливості мови. Методи класів, включених в ці бібліотеки, викликаються з JVM під час інтерпретації Java-програми. В Java всі об'єкти програми розташовані в динамічній пам'яті і доступні за

об'єктними посиланнями, які в свою чергу зберігаються в стеку. Це рішення виключило безпосередній доступ до пам'яті, але ускладнило роботу з елементами масивів.

Необхідно відзначити, що об'єктні посилання мови Java містять інформацію про клас об'єктів, на які вони посилаються, а тому вони не вказівники, а дескриптори об'єктів. Наявність дескрипторів дозволяє JVM виконувати перевірку сумісності типів на фазі інтерпретації коду, генеруючи виключення у разі помилки.

В мові Java переглянута і концепція динамічного розподілу пам'яті. В ній відсутні способи звільнення динамічно виділеної пам'яті. Замість цього реалізована система автоматичного звільнення пам'яті, виділеної за допомогою оператора new.

В Java-програмах специфікація класу та його реалізація завжди містяться в одному й тому ж файлі.

Мова Java не підтримує перевантаження операторів і typedef,

беззнакові цілі (якщо не рахувати таким тип char), а також використання аргументів по замовчуванню. В Java відсутнє множинне наслідування, існують конструктори, але відсутні деструкції (застосовується автоматична збірка сміття), не використовується оператор goto і слово const, хоч вони є зарезервованими словами мови.

Найбільш істотні нові можливості, що з'явилися в Java, це інтерфейси та багагопоточність (можливість одночасного виконання частин програми).



Поделиться:


Последнее изменение этой страницы: 2016-07-16; просмотров: 150; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.138.125.2 (0.014 с.)