Главная страница Случайная лекция Мы поможем в написании ваших работ! Порталы: БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика Мы поможем в написании ваших работ! |
Операторы манипулирования данными
Основным оператором является оператор SELECT. Он используется для отбора данных, соответствующих сложным условиям. SELECT [DISTINCT] <список полей> или * FROM <список таблиц> [WHERE <условия выбора записей>] [ORDER BY <список полей сортировки>] [GROUP BY <список полей группировки>] [HAVING <условия группировки полей>] [UNION <присоединяемый оператор SELECT>]
DISTINCT: если присутствует в операторе SELECT, то повторяющиеся записи будут исключены из набора данных. Если в список полей входят поля нескольких таблиц, то для указания принадлежности поля к той или иной таблице используют составной оператор, включающий имя таблицы и через точку имя поля — <имя таблицы>.<имя поля>.
Примеры: 1. Выборка таблицы целиком SELECT * FROM MYTABLE 2. Выборка заданного списка полей таблицы SELECT Number, Surname, Telephone FROM MYTABLE 3. SELECT * FROM MYTABLE ORDER BY NAME 4. SELECT RDNUMB, RDNAME FROM TREADER where RDNUMB > '1300' ORDER BY 2 5. Выборка из нескольких таблиц SELECT * FROM MYTABLE1, MYTABLE2 6. Выборка только различных строк SELECT DISTINCT Surname FROM MYTABLE 7. Выборка записей с условием SELECT Name, Surname FROM MYTABLE WHERE (Number>1) AND (Number<100) 8. Выборка записей с условием SELECT Name FROM MYTABLE WHERE Surname = ‘Иванов’ 9. Выборка записей с условием SELECT Name, Surname FROM MYTABLE WHERE Surname Like ‘H%’ 10. Выборка с упорядочением SELECT RDNUMB, RDNAME FROM TREADER ORDER BY RDNAME 11. Выборка с параметром SELECT UNIKEY BOOKNM from TBOOK where UNIKEY = :KEY 12. Выборка с использованием псевдонимов таблиц SELECT E.FIRST_NAME, E.LAST_NAME, D.DEPARTMENT FROM EMPLOYEE E, DEPARTMENT D where D.DEPT_NO > 4 and E.DEPT_NO = D.DEPT_NO ORDER BY E.LAST_NAME 13. Выборка с параметром SELECT * FROM EMPLOYEE WHERE DEPT_NO = : DEPT_NO
Оператор UPDATE служит для изменения значений полей в группе записей: UPDATE <Имя таблицы> SET <Имя поля> = <Выражение>, <Имя поля> = <Выражение>, .... WHERE <условия выбора>
Пример: UPDATE MYTABLE SET OKLAD = OKLAD + 1000 WHERE OKLAD < 1000
Оператор INSERT служит для вставки записей в таблицу INSERT INTO <имя таблицы> (<Список полей>) VALUES (<Список значений>)
Пример: INSERT INTO MYTABLE (Name, Surname, Telephone) VALUES (‘Иван’, ‘Иванов’, 2341234)
Оператор DELETE служит для удаления записей из таблиц DELETE FROM <имя таблицы> [WHERE <условия выбора>]
Пример: DELETE FROM MyTable WHERE Surname = ‘Иванов’
Имеются расширения языка SQL для СУБД InterBase, используемые в хранимых процедурах. Это циклы и операторы ветвления.
FOR SELECT ….DO
WHILE ….DO
IF …THEN…ELSE
Примеры: CREATE PROCEDURE SIMPLE RETURNS (ID INTEGER, NAME VARCHAR (80)) AS BEGIN FOR SELECT ID, NAME FROM TABLE1 INTO :ID, :NAME DO BEGIN SUSPEND; /*передача сформированной записи клиенту*/ END END
CREATE PROCEDURE QUAD RETURNS (QUADRAT INTEGER) AS DECLARE VARIABLE I INTEGER; BEGIN I = 1; WHILE (I < 100) DО BEGIN QUADRAT = I*I; I = I+1; SUSPEND; END END
Входные переменные задаются следующим образом: CREATE PROCEDURE Name (I INTEGER, S DATE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Вложенные SELECT SELECT RDNAME, RDNUMB FROM TREADER where UNIKEY IN (SELECT READER FROM TBOOK_READER where BOOKKEY = 18)
Дата добавления: 2014-02-28; просмотров: 349; Нарушение авторских прав Мы поможем в написании ваших работ! |