Полезное для программистов:

Фриланс
Новости
Статьи
   
Рубрики:

Error. Page cannot be displayed. Please contact your service provider for more details. (17)


Короткий справочник по SQL, - самое необходимое

Поиск:
Вот эти три странички очень мне помогли, когда я их распечатал и повесил на стенку. Для начинающих, конечно, но и для освежения памяти сойдёт. Кому надо, можете в Delphist's FAQ взять цветную версию.
http://forum.vingrad.ru/index.php?act=ST&f=2&t=15409


Вывод нужных полей

Код
SELECT LastName, FirstName, Salary FROM employee


Хотим вывести только имя, фамилию и оклад служащих


Вывод всех полей из таблицы

Код
SELECT * FROM employee
* обозначает все поля



Задание псевдонима таблице

Код
SELECT * FROM employee emp
where emp.salary>35000

Таблице employee в качестве псевдонима задано emp
Выводим всех служащих с окладом свыше 35000



Исключение дубликатов
Код
SELECT DISTINCT Country FROM vendors
Хотим узнать из каких стран поставляют продукцию



Постановка условия

Код
SELECT * FROM vendors
Where Country='Canada'

Выводим поставщиков из Канады


Использование логические операторов

Код
SELECT * FROM vendors
Where Country='U.S.A.' and Preferred='True'
Выводим только предпочитаемых поставщиков из США.
Когда используем оператор AND должны удовлетворяться оба условия


Код
SELECT * FROM animals
Where AREA='South America' or AREA='New Orleans'

Хотим видеть только тех животных, которые обитают в Южной Америке или Новом Орлеане Когда используем оператор OR должно удовлетворяться хотя бы одно условие



Код
SELECT * FROM animals
Where AREA='South America' and not Weight<7


Выводим животных, обитающих в Южной Америке с весом не менее 7 кг
Когда используем оператор AND NOT должно удовлетворяться первое условие и не должно - второе



Код
SELECT * FROM animals
Where Weight<5 or not Weight<10

Выводим животных, с весом менее 5 кг или более 10 кг
Когда используем оператор OR NOT должно либо удовлетворяться первое условие, либо не должно - второе



Упорядочивание записей по возрастанию/убыванию/по номеру столбца

Код
SELECT * FROM animals order by Weight

Выводим животных в порядке увеличения веса: сначала самые лёгкие, в конце самые тяжелые



Код
SELECT * FROM animals order by Weight desc

...наоборот - по убыванию



Код
SELECT * FROM animals order by 3

Упорядочить по третьему столбцу (отсчёт начинается с 1 )



Объединение нескольких запросов

Код
SELECT * FROM animals
Where Area='South America'
UNION
SELECT * FROM animals
Where Area='New Orleans'
Выводим тех животных, которые обитают в Южной Америке, а так же тех, которые обитают в Новом Орлеане Оператором UNION можем объединять несколько запросов



Максимальное/минимальное значение поля

Код
SELECT MAX(Salary) FROM employee

Выводим максимальный оклад из таблицы служащих



Код
SELECT MIN(Salary) FROM employee

Выводим минимальный оклад из таблицы служащих



Сумма всех значений/среднее значение
Код

SELECT SUM(Salary) FROM employee

Так можем узнать сколько получают служащие некой фирмы вместе взятые



Код
SELECT AVG(Salary) FROM employee

Так можем узнать среднестатистический оклад


Количество записей в таблице/в поле

Код
SELECT COUNT(*) FROM employee

Находим количество записей в таблице - в данном случае количество служащих


Код
SELECT COUNT(*) FROM clients

Where occupation='Programmer'
Посчитали сколько человек увлекаются программированием


Группировка записей

Код
SELECT Continent, MAX(Area) FROM country group by Continent

С помощью конструкции "group by" можем узнать какая страна занимает самую большую площадь для каждого континента


Конструкция IN

Код
select * from Customer
Where Country IN ('US','Canada','Columbia')

Выводим покупателей из США, Канады и Колумбии



Код
select * from Customer
Where Country NOT IN ('US','Canada')

Выводим всех покупателей за исключением тех, кто проживает в США, Канаде


Вывод пустых/непустых значений

Код
select * from Customer
Where State is NULL
Выводит те записи, где не введено значение в поле State


Код

select * from Customer
Where State is NOT NULL

Выводит те записи, где введено значение в поле State


Вывод значений приблизительно соответствующих нужным

Код
select * from employee
Where LastName like 'L%'

Выводим только тех служащих, у которых фамилия начинается на букву 'L'. Знак '%' - означает любые символы



Код
select * from employee
Where LastName like 'Nels_n'

Например, мы не помним: как правильно пишется 'Nelson' или 'Nelsan', тогда нужно будет воспользоваться знаком подчёркивания, который означает любой символ


Диапазон значений

Код
select * from employee
Where Salary BETWEEN 25000 AND 50000

Можем вывести только тех, кто получает от 25000 до 50000 включительно


ANY, SOME, ALL

Код
SELECT * FROM orders.db
where custno= ANY (select custno from customer.db where city = 'Largo');


или

Код
SELECT * FROM orders.db
where custno= SOME (select custno from customer.db where city = 'Largo');


или

Код
SELECT * FROM orders.db
where custno IN (select custno from customer.db where city = 'Largo');
Выводим заказы покупателей из города 'Largo'


Код
SELECT * FROM clients
where birth_date>All(select birth_date from clients where city='Los Altos')

Вывести тех клиентов, которые моложе всех из 'Los Altos'


EXISTS

Код
SELECT * FROM orders.db
where custno= ANY (select custno from customer where city = 'Largo')
and Exists(SELECT * FROM customer WHERE City='Largo')

Выводим заказы покупателей из города 'Largo' если вообще есть покупатели с этого города


Использование параметров

Код
SELECT * FROM clients
where Last_Name=:LastNameParam


Если мы хотим дать возможность пользователю самому указывать фамилию нужного ему клиента. мы вместо значения для поля фамилия указываем параметр. Параметры указываются после двоеточия. И получить доступ к ним можно по индексу из свойства Params компонента Query. Индексация начинается с нуля. Затем, например, по нажатию на кнопке напишем код:

Код
Query1.Active:=false;
Query1.Params[0].AsString:=Edit1.Text;
Query1.Active:=true;




Вывод дополнительного текста[использование выражений]

Код
SELECT LastName, Salary/100, '$' FROM employee


Если зарплата указана не в долларах, а какой-то другой валюте, курс которой равен 1 к 100, мы можем вывести данные в $, используя вышеуказанное выражение


Использование нескольких таблиц

Код
SELECT o.orderno,o.AmountPaid, c.Company FROM orders o, customer c
where o.custno=c.custno and c.city='Largo'
Выводим номер и сумму заказа из таблицы заказов и компанию сделавшую заказ из таблицы покупателей


Вложенные подзапросы

Код
SELECT * FROM employee
where Salary=(select MAX(Salary) from employee)

Мы научились выводить максимальное значение, например, можем узнать максимальный оклад у служащих, но куда полезнее было бы узнать кто тот счастливчик. Именно здесь используется механизм вложенных подзапросов


Взято с www.delphiworld.narod.ru
Автор: December






Просмотров: 6826

 

 

Новые статьи:


Популярные:
  1. Как сделать цикличным проигрывание MIDI-файла?
  2. Создание AVI файла из рисунков
  3. Как устройство "отключить в данной конфигурации"?
  4. Kто в данный момент присоединен через Сеть?
  5. Как узнать количество доступной памяти?
  6. Как реализовать в RichEdit разноцветный текст?
  7. Как скрыть свое приложение от ProcessViewer
  8. Как программно нажать/скрыть/показ кнопку "Start"?
  9. Модуль работы с ресурсами в PE файлах
10. Функции вызова диалоговых окон выбора
11. Проверка граматики средствами Word'а из Delphi.
12. Модуль для упрощенного вызова сообщений
13. Функции для записи и чтение своих данных в, ЕХЕ- файле
14. Рекурсивный просмотр директорий
15. Network Traffic Monitor
16. Разные модули
17. Универсальная функция для обращения к любым экспортируем функциям DLL
18. Библиотека от VladS
19. Протектор для UPX'а
20. Еще об ICQ, сообщения по контакт листу?
21. Использование открытых интерфейсов
22. Теория и практика использования RTTI
23. Работа с TApplication
24. Примеры использования Drag and Drop для различных визуальных компонентов
25. Что такое порт? Правила для работы с портами
26. Симфония на клавиатуре
27. Загрузка DLL
28. Исправление автоинкремента
29. Взаимодействие с чужими окнами
30. Проверить дубляжи в столбце


 

 

 
 
На главную