среда, 15 апреля 2020 г.

Найдите номера моделей и цены всех продуктов (любого типа), выпущенных производителем B (латинская буква).

Задание: 7 (Serge I: 2002-11-02)

SELECT DISTINCT product.model, pc.price
FROM Product JOIN pc ON product.model = pc.model WHERE maker = 'B'
UNION
SELECT DISTINCT product.model, laptop.price
FROM product JOIN laptop ON product.model=laptop.model WHERE maker='B'
UNION
SELECT DISTINCT product.model, printer.price
FROM product JOIN printer ON product.model=printer.model WHERE maker='B';

Для каждого производителя, выпускающего ПК-блокноты c объёмом жесткого диска не менее 10 Гбайт, найти скорости таких ПК-блокнотов. Вывод: производитель, скорость.

Задание: 6 (Serge I: 2002-10-28)

SELECT DISTINCT p.maker, l.speed
FROM laptop l
JOIN product p ON p.model = l.model
WHERE l.hd >= 10

Найдите номер модели, скорость и размер жесткого диска ПК, имеющих 12x или 24x CD и цену менее 600 дол.

Задание: 5 (Serge I: 2002-09-30)

SELECT model,speed,hd FROM PC WHERE ( cd = '12x' OR cd = '24x' ) AND price < 600

Найдите все записи таблицы Printer для цветных принтеров.

Задание: 4 (Serge I: 2002-09-21)

SELECT * FROM Printer WHERE color = 'y'

Найдите номер модели, объем памяти и размеры экранов ПК-блокнотов, цена которых превышает 1000 дол.

Задание: 3 (Serge I: 2002-09-30)

SELECT model,ram,screen FROM Laptop WHERE price > 1000

Найдите производителей принтеров. Вывести: maker

Задание: 2 (Serge I: 2002-09-21)
SELECT maker FROM Product WHERE type = 'Printer' GROUP BY maker

Найдите номер модели, скорость и размер жесткого диска для всех ПК стоимостью менее 500 дол. Вывести: model, speed и hd

Задание: 1 (Serge I: 2002-09-30)

SELECT model, speed, hd FROM PC WHERE price < 500

среда, 24 апреля 2019 г.

sql запрос

SQL SELECT

Не многие владеют в совершенстве языками, а если говорит о языках программирования, то большая часть знает о них только то, что изучали в школе. Однако в полной мере об используемых языках, для управления компьютерными программами, можно почерпнуть только при глубоком изучении материала, в высших учебных заведениях и путем самостоятельного обучения.
Огромное количество программ позволяют выбирать данные для финансовых и других отчетов в считанные минуты. Одна из самых простых и к тому же удобных — SQL SELECT. При знакомстве с ней любой программист сможет без проблем рассказать о том, что SQL – это язык программирования, помогающий структурировать все необходимые запросы, а SELECT – это команда, используемая в комбинации с SQL. Безусловно, в сочетании SQL SELECT позволяют проводить все необходимые действия, изложенные на примерах данной страницы. В связи, с чем нижеизложенный материал более подробно и наглядно характеризует возможности SQL SELECT. Поэтому, установив программу, используемую SQL SELECT, вы сэкономите время своих сотрудников, а также деньги предприятия.
С помощью запроса SQL SELECT можно выполнять выборку данных из таблицы. Следующие примеры запросов SQL SELECT используются в таких SQL СУБД как MySQLOracleAccess и других.
SQL Select
SQL Select

Для выполнения следующих SQL запросов SELECT нам необходимо прежде всего изучить структуру таблиц.
Имя таблицыИмя поляТип поляПримечание
FAKULTETKOD_FIntegerPRIMARY KEY
NAZV_FChar, 30
SPECKOD_SIntegerPRIMARY KEY
KOD_FInteger
NAZV_SChar, 50
STUDENTKOD_STUDIntegerPRIMARY KEY
KOD_SInteger
FAMChar, 30
IMChar, 15
OTChar, 15
STIPDecimal, 3
BALLDecimal, 3

Примеры запросов SELECT на языке SQL:
SQL Пример SELECT №1
Выбрать студентов, получающих стипендию, равную 150.
SELECT fname FROM STUDENT WHERE STIP=150;
С помощью данного SQL запроса SELECT выбираются все значения из таблицы STUDENT, поле STIP которых строго равно 150.

SQL Пример SELECT №2
Выбрать студентов, имеющих балл от 82 до 90. Студенты должны быть отсортированы в порядке убывания балла.
SELECT FAM FROM STUDENT WHERE BALL BETWEEN 81 AND 91 ORDER BY BALL DESC;
Как видно из SQL примера, чтобы выбрать студентов, которые имеют балл от 82 до 90, мы используем условие BETWEEN. Чтобы отсортировать в убывающем порядке DESC.

SQL Пример SELECT №3
Выбрать студентов, фамилии которых начинаются с буквы «А».
SELECT FAM FROM STUDENT WHERE FAM LIKE ‘А%’;
Для того, чтобы выбрать фамилии, начинающиеся с буквы «А», мы используем оператор SQL LIKE для поиска значений по образцу.

SQL SELECT Пример №4
Подсчитать средний балл на каждом факультете.
SELECT NAZV_F As Название, ROUND(AVG(BALL), 2) As СредБалл FROM FAKULTET, SPEC, STUDENT WHERE STUDENT.KOD_S=SPEC.KOD_S ANDSPEC.KOD_F=FAKULTET.KOD_F GROUP BY NAZV_F;
Пример запроса SQL SELECT показывает нам использование функции SQL AVG для вычисления среднего значения, ROUND для округления значения, раздела GROUP BY для группировки столбцов.

SQL SELECT. Пример №5.
Подсчитать количество студентов, обучающихся на каждом факультете. Вывести в запросе название факультета, комментарий – «обучается», количество студентов, комментарий «человек».
SELECT NAZV_F||’ обучается ‘||COUNT(STUDENT.BALL)||’ человек’ AsCountStudOnFakultet FROM FAKULTET, SPEC, STUDENT WHERESTUDENT.KOD_S=SPEC.KOD_S AND SPEC.KOD_F=FAKULTET.KOD_F GROUP BYNAZV_F;

SQL SELECT. Пример №6.
Упорядочить студентов по факультетам, специальностям, фамилиям.
SELECT NAZV_F, NAZV_S, FAM FROM FAKULTET, SPEC, STUDENT WHERE STUDENT.KOD_S=SPEC.KOD_S AND SPEC.KOD_F=FAKULTET.KOD_F ORDER BYNAZV_F, NAZV_S, FAM;

SQL SELECT. Пример №7.
Определить, кто учится на специальности, к которой относится студент «Асанов».
SELECT FAM FROM STUDENT WHERE STUDENT.KOD_S=(SELECT KOD_S FROM STUDENT WHERE FAM=’Асанов’);
В данном SQL примере мы используем подзапрос SQL SELECT, который возвращает код специальности, на которой учится студент по фамилии Асанов.

SQL SELECT. Пример №8.
Показать, какие специальности встречаются в таблице STUDENT. Дубликаты исключить. Вывести в запросе названия специальностей.
SELECT DISTINCT NAZV_S FROM SPEC, STUDENT WHERE STUDENT.KOD_S=SPEC.KOD_S;
Здесь мы с помощью SQL ограничения DISTINCT выводим только различные значения.

SQL SELECT. Пример №9.
Извлечь из базы данных все данные по сотрудникам, принятым на работу после 01.01.1980 г. в формате “Сотрудник < фамилия сотрудника и его инициалы> принят на работу < дата принятия на работу>”.
SELECT CONCAT(CONCAT(CONCAT(‘Сотрудник ‘, sname), CONCAT(SUBSTR(fname, 0, 1), SUBSTR(otch, 0, 1))), CONCAT(‘принят на работу ‘, acceptdate)) FROM employees WHERE acceptdate > to_date(‘01.01.80′,’dd.mm.yyyy’);
В данном SQL SELECT, используя SQL функцию CONCAT мы выводим все поля таблицы в одну строчку. SQL функция to_date возвращает привычное для СУБД значение даты.

SQL SELECT. Пример №10.
Извлечь из базы данных перечень должностей, которые имеют сотрудники следующих отделов: ‘БИОТЕХНОЛОГИЙ’, ‘ИНЖЕНЕРНОЙ ЭКОЛОГИИ’. В запросе использовать названия отделов.
SELECT pname FROM posts, departments, employees WHERE posts.pid = employees.pid AND employees.did = departments.did AND (departments.dname = ‘БИОТЕХНОЛОГИЙ’ OR departments.dname = ‘ИНЖЕНЕРНОЙ ЭКОЛОГИИ’);
Пояснение: posts — таблица должностей, departments — таблица отделов, employees — таблица сотрудников, pname — название должности.

SQL SELECT. Пример №11.
Извлечь из базы данных значение максимального личного шифра и фамилию сотрудника с этим номером в формате “Максимальный личный шифр < значение шифра> имеет сотрудник < фамилия сотрудника и его инициалы>”.
SELECT ‘Максимальный личный шифр ‘||eid||’ имеет сотрудник ‘||sname||’ ‘||SUBSTR(fname, 0, 1)||’. ‘||SUBSTR(otch, 0, 1)||’.’ As Максимальный_личный_шифр FROM employees WHERE eid = (SELECT MAX(eid) from employees);
Для вывода максимального личного шифра мы устанавливаем условие в WHERE так, чтобы шифр был равен полученному максимальному шифру из подзапроса SELECT, используя функцию MAX.

SQL SELECT. Пример №12.
Получить из базы данных значение числа записей в таблице данных о сотрудниках в формате “Таблица данных о сотрудниках содержит < число записей> записей”.
SELECT ‘Таблица данных о сотрудниках содержит ‘||COUNT(*)||’ записей’ FROM employees;
Используя SQL функцию COUNT, выводим количество записей таблицы employees.

SQL SELECT. Пример №13.
Получить единым запросом список отделов и должностей предприятия.
SELECT pname FROM posts UNION SELECT dname FROM departments;
С помощью UNION мы объединяем два запроса SQL SELECT и выводим их как один.

SQL SELECT. Пример №14.
Вывести 30 комментариев начиная с 5 комментария из таблицы replies, кроме комментариев автора ‘Вася’. Данные сортируются по дате добавления комментария в убывающем порядке.
SELECT * FROM replies WHERE author!=’Вася’ ORDER BY date DESC LIMIT 5, 30;

SQL SELECT. Пример №15.
Получить из SQL таблицы news одну новость с пометкой «Важные новости».
SELECT * FROM news WHERE status=’Важные новости’ LIMIT 1;
В данном SQL примере мы выбираем все столбцы поля, у которого столбец status равен ‘Важные новости’. SQL ограничение LIMIT 1 означает, что выбираем только одну запись.

SQL SELECT. Пример №16.
Получить имя письма с идентификатором 1565.
SELECT name FROM mail_inbox WHERE id=’1565′;

SQL SELECT. Пример №17.
Получить название рекламного пакета с идентификатором 24.
SELECT title FROM ad_packages WHERE id=’24’;

SQL SELECT. Пример №18.
Вывести столбцы id, title, price, c_type с сортировкой по идентификатору в возрастающем порядке.
SELECT id, title, price, c_type FROM ad_packages ORDER BY id ASC;

SQL SELECT. Пример №19.
Вывести все записи из SQL таблицы actions с идентификатором 1234567890.
SELECT * actions WHERE uid=’1234567890′;

SQL SELECT. Пример №20.
SELECT * FROM buypts ORDER BY c_type DESC, price DESC;

SQL SELECT. Пример №21.
SELECT uid FROM refs WHERE rid=’19’;

SQL SELECT. Пример №22.
SELECT * FROM sellpts ORDER BY price ASC;

SQL SELECT. Пример №23.
SELECT * FROM useronline WHERE uid=’1′;

SQL SELECT. Пример №24.
SELECT * FROM mail_inbox WHERE uid=’4590′ AND status=’unread’;

SQL SELECT. Пример №25.
SELECT * FROM buyref WHERE rid!=’5′ ORDER BY dateStamp DESC;

MySQL SQL SELECT. Пример №26.
SELECT id FROM replies WHERE nid=’5′;

MySQL SQL SELECT. Пример №27.
SELECT id, dateStamp, title, text FROM news WHERE dateStamp=’1232342412′;

Oracle SQL SELECT. Пример №28.
SELECT id, dateStamp, author, text, remote_addr FROM replies WHERE nid=’45’ ORDER BY dateStamp ASC;

sql select
sql select

база sql server

язык sql

Основы языка SQL pdf книга:  http://www.ict.edu.ru/ft/004864/sql.pdf

Московский государственный технический университет имени Н.Э.БАУМАНА кафедра САПР