Шпоры по базам данных1 / бд_3
.doc-
… извлечение кодов, названий и городов поставщиков со статусом 20 в алфавитном порядке названий городов, а для одинаковых городов — в порядке названий — из следующей таблицы:
select Код, Название, Город from Поставщик where Статус = 20 order by Город, Название
-
… извлечение кодов, названий и городов поставщиков, у которых название или город начинаются с буквы «А», из следующей таблицы:
Поставщик (Код, Название, Город, Статус)
select Код, Название, Город from Поставщик where Название LIKE ‘A%’ or Город LIKE ‘A%’
-
… извлечение кодов, названий и городов поставщиков, у которых статус находится в диапазоне 20–70, из следующей таблицы:
Поставщик (Код, Название, Город, Статус)
select Код, Название, Город from Поставщик where Статус between 20 and 70
-
… извлечение кодов, названий и городов поставщиков, которые находятся в городах Москва, Петербург, Уфа или Стерлитамак, из следующей таблицы:
Поставщик (Код, Название, Город, Статус)
select Код, Название, город from Поставщик where город in ('London','Berlin')
-
… извлечение кодов и названий поставщиков, а также значений их статуса, умноженных на 100 (в столбец по имени «МСтатус»), из следующей таблицы:
Поставщик (Код, Название, Город, Статус)
select Код, Название, Статус*100 as MСтатус from Поставщик
-
… извлечение списка городов (без дубликатов), в которых находятся поставщики, из следующей таблицы:
Поставщик (Код, Название, Город, Статус)
select distinct город from Поставщик
-
… извлечение списка городов с указанием среднего статуса поставщиков из этого города, из следующей таблицы:
Поставщик (Код, Название, Город, Статус)
select distinct город, avg(Статус) from Поставщик group by город
-
… извлечение списка городов с указанием суммарного статуса всех поставщиков из этого города, из следующей таблицы:
Поставщик (Код, Название, Город, Статус)
select distinct город, sum(Статус) as summa from Поставщик group by город
-
… извлечение списка городов с указанием минимального статуса среди поставщиков из этого города, из следующей таблицы:
Поставщик (Код, Название, Город, Статус)
select distinct город, min(Статус) as summa from Поставщик group by город
-
… извлечение списка городов с указанием максимального статуса среди поставщиков из этого города, из следующей таблицы:
Поставщик (Код, Название, Город, Статус)
select distinct город, max(Статус) as summa from Поставщик group by город
-
… извлечение списка городов с указанием числа поставщиков из этого города из следующей таблицы:
Поставщик (Код, Название, Город, Статус)
select distinct город, count (*) from Поставщик group by город
-
… извлечение списка городов с указанием числа различных значений статуса среди поставщиков из этого города из следующей таблицы:
Поставщик (Код, Название, Город, Статус)
select distinct город, count (distinct Статус) from Поставщик group by город
-
… вставку полных сведений о новом поставщике: код «П007»; название «МММ»; город «Москва»; статус «20» в следующую таблицу:
Поставщик (Код, Название, Город, Статус)
INSERT INTO Поставщик (Код, Название, Статус, город)values ('П007','MMM','20','Москва')
-
… вставку частичных сведений о новом поставщике: код «П007»; город «Москва» в следующую таблицу:
Поставщик (Код, Название, Город, Статус)
INSERT INTO Поставщик (Код, город) values ('П007',' Москва ')
-
о всехПоставщик (Код, Название, Город, Статус)
из таблицы НовыйПоставщик, имеющей ту же самую структуру.
INSERT INTO Поставщик select * from НовыйПоставщик
-
… вставку полных сведений о новом товаре: код «Т007»; название «Ггг»; город «Москва»; вес «20», цвет «Желтый» в следующую таблицу:
Товар (Код, Название, Город, Вес, Цвет)
INSERT INTO Товар(Код, Название, Город, Вес, Цвет) values ('Т007','Ггг','Москва','20',’Желтый’)
-
… вставку частичных сведений о новом товаре: код «Т007»; город «Москва»; цвет «Желтый» в следующую таблицу:
Товар (Код, Название, Город, Вес, Цвет)
INSERT INTO Товар(Код, Город, Цвет) values ('Т007','Москва',’Желтый’)
-
о всехТовар (Код, Название, Город, Вес, Цвет)
из таблицы НовыйТовар, имеющей ту же самую структуру.
INSERT INTO Товар select * from НовыйТовар
-
… удаление всех записей из таблицы Поставщик.
delete from Поставщик
-
… удаление всех записей из таблицы Товар.
delete from Товар
-
… удаление из таблицы Поставщик записей о поставщиках из Парижа:
Поставщик (Код, Название, Город, Статус)
delete from Поставщик where sгород = 'paris'
-
… удаление из таблицы Товар записей о товарах из Парижа:
Товар (Код, Название, Город, Вес, Цвет)
delete from Товар where город = 'Париж'
-
… удаление таблицы Поставщик (как содержимого, так и структуры).
drop table Поставщик
-
… удаление таблицы Товар (как содержимого, так и структуры).
drop table Товар
-
… замену названия «Ленинград» на «С.-Петербург» в сведениях о поставщиках в таблице
Поставщик (Код, Название, Город, Статус)
update Поставщик set город = 'Питер' where город = 'Ленинград'
-
… замену цвета «голубой» на «циан» в сведениях о товарах в таблице
Товар (Код, Название, Город, Вес, Цвет)
update Товар set город = 'Циан' where город = 'голубой'
-
… увеличение в 2 раза значения статуса у всех поставщиков в таблице
Поставщик (Код, Название, Город, Статус)
update Поставщик set Статус = 2*Статус
-
… переход от веса в граммах к весу в килограммах для всех товаров в таблице
Товар (Код, Название, Город, Вес, Цвет)
update Товар set Вес = Вес/2
-
… запись значения статуса «50» для существующего поставщика с кодом «П007» в таблице
Поставщик (Код, Название, Город, Статус)
update Поставщик set Статус = 50 where Код = 'П007'
-
… запись значения веса «50» для существующего товара с кодом «Т007» в таблице
Товар (Код, Название, Город, Вес, Цвет)
update Товар set Вес = 50 where Код = 'p007'
-
… создание структуры таблицы
Поставщик (Код, Название, Город, Статус) ,
где Код является первичным ключом.
create table Поставщик (Код char(10) primary key, Название char(10), Статус int, Город char(10))
-
… создание структуры таблицы
Поставка (КодПоставщика, КодТовара, Количество) ,
где КодПоставщика является первичным ключом в родительской таблице
Поставщик (Код, Название, Город, Статус)
create table Поставка(КодПоставщика char(2), КодТовара char(10), Количество int)
alter table Поставка add constraint FK_s foreign key (КодПоставщика) references s(sno)
-
… создание структуры таблицы
Поставка (КодПоставщика, КодТовара, Количество) ,
где КодПоставщика и КодТовара составляют первичный ключ.
create table Поставка(КодПоставщика char(2) not null, КодТовара char(10) not null, Количество int)
alter table Поставка add constraint PK_2 primary key (КодПоставщика, КодТовара)
-
… создание структуры таблицы
Поставщик (Код, Название, Город, Статус) ,
где Статус имеет числовое значение в ограниченном диапазоне 10…100.
create table Поставщик(Код char(2), Названиеа char(10), Город char(10), Статус int)
alter table Поставщик add constraint CH_r check (статус between 10 and 100)
-
… создание структуры таблицы
Поставщик (Код, Название, Город, Статус) ,
где Код и Название являются обязательными полями.
create table Поставщик (Код char(2) not null, Названиеа char(10) not null, Город char(10), Статус int)
-
… создание структуры таблицы
Поставщик (Код, Название, Город, Статус) ,
где Статус имеет по умолчанию значение 20.
create table sdf (Код char(10) primary key, Название char(10), Статус int default(20), Город char(10))
-
… добавление в структуру существующей таблицы
Поставщик (Код, Название, Город, Статус)
нового столбца Телефон строкового типа (10 символов).
alter table Поставщик ADD COLUMN Телефон CHAR(10)
-
… удаление из структуры существующей таблицы
Поставщик (Код, Название, Город, Статус)
столбца Город.
alter table Поставщик drop column Город
-
… добавление в структуру существующей таблицы
Поставщик (Код, Название, Город, Статус)
определения первичного ключа для столбца Код.
alter table Поставщик add constraint PK_s primary key (Код)
-
… добавление в структуру существующей таблицы
Поставщик (Код, Название, Город, Статус)
определения дополнительного условия уникальности для столбца Название.
alter table Поставщик add constraint UQ_s unique (Название)
-
… добавление в структуру существующей таблицы
Поставщик (Код, Название, Город, Статус)
определения проверочного условия на значения столбца Статус — диапазон от 10 до 100.
alter table Поставщик add constraint CH_r check (Статус between 10 and 100)
-
… добавление в структуру существующей таблицы
Поставка (КодПоставщика, КодТовара, Количество)
определения внешнего ключа для столбца КодПоставщика, указывающего на родительскую таблицу Поставщик с первичным ключом Код.
alter table Поставка add constraint FK_s foreign key (КодПоставщика) references Поставщик (Код)
-
… удаление из структуры таблицы
Поставщик (Код, Название, Город, Статус) ,
именованного ограничения целостности СН_Статус.
drop from Поставщик constraint CH_Статус
-
… добавление в структуру таблицы
Поставщик (Код, Название, Город, Статус) ,
ограничения с именем СН_Статус, проверяющего, что Статус лежит в диапазоне от 10 до 100.
alter table Поставщик add constraint CH_r check (Статус between 10 and 100)
-
… создание представления Поставщик_Кратко на основе таблицы
Поставщик (Код, Название, Город, Статус) ,
обеспечивающего доступ к столбцам Код и Название.
create view Поставщик_Кратко as select Код, Название from Поставщик
-
… создание представления VIP_Поставщики на основе таблицы
Поставщик (Код, Название, Город, Статус) ,
обеспечивающего доступ к поставщикам со статусом больше 50.
create view VIP_Поставщики as select * from Поставщик where Статус > 50
-
… создание представления ГородаПоставщиков на основе таблицы
Поставщик (Код, Название, Город, Статус) ,
выводящего список городов с указанием количества поставщиков из этого города.
create view ГородаПоставщиков as select Город, count(*) as nПоставщиков from Поставщик group by Город
-
… создание представления ПоставкиПоставщиков на основе таблиц
Поставка (КодПоставщика, КодТовара, Количество) и Поставщик (Код, Название) ,
выводящего расширенные сведения о поставках: КодПоставщика, НазваниеПоставщика, КодТовара, Количество.
create view ПоставкиПоставщиков as select Поставщик.Код, Поставщик.Название, Поставка.Код, Поставка.Количество from Поставщик, Поставка where Поставщик.Код = Поставка.Код
-
… удаление из базы данных представления ПоставкиПоставщиков.
drop view ПоставкиПоставщиков
-
… предоставление пользователю Boss все привилегии доступа к таблице Поставщик.
grant all on Поставщик to Boss
-
… предоставление пользователю Manager27 привилегии чтения таблицы Поставщик и обновления в ней столбца Статус.
grant select on Поставщик to Manager27 grant update on Поставщик(Статус) to Manager27
-
… предоставление пользователю Boss привилегии чтения с правом передачи таблицы Поставщик. grant on Поставщик to Boss
-
-
… отменить все предоставленные пользователю Boss привилегии доступа к таблице Поставщик.
revoke all on Поставщик from Boss
-
… отменить все предоставленные пользователю Boss привилегии доступа.
revoke all from Boss
-
… отменить предоставленные пользователю Manager27 привилегии обновления таблицы Поставщик.
revoke update on Поставщик from Manager27
-
Какое будет состояние базы данных после команды
ALTER TABLE s DROP город
Удаление столбца Город из таблицы s
-
Какое будет состояние базы данных после команды
ALTER TABLE s ADD COLUMN phone CHAR(10) NOT NULL WITH DEFAULT ‘?’
добавится столбец Phone(знаковый длиной 10 символов) в таблице s, значение по умолчанию - ?
-
Какое будет состояние базы данных после команды
ALTER TABLE s ADD COLUMN phone CHAR(10)
добавится столбец Phone(знаковый длиной 10 символов) в таблице s (пустой - Null)
-
В sp ограничение: FOREIGN KEY (s_no) REFERENCES s (s_no) ON UPDATE CASCADE
Какое будет состояние базы данных после команды
UPDATE s SET s_no = ‘s10’ WHERE s_no = ‘s1’
везде s1 заменится на s10
-
В sp ограничение: FOREIGN KEY (s_no) REFERENCES s (s_no) ON DELETE CASCADE
Какое будет состояние базы данных после команды
DELETE FROM s WHERE Статус > 10
пустыми станут все строки в таблицах s и sp
-
Какое будет состояние базы данных после команды
UPDATE s SET Статус = 40 WHERE город = ‘Paris’
В городе Paris Статус станет = 40
-
Какое будет состояние базы данных после команды
UPDATE s SET Статус = Статус/2
в s значения Статус уменьшатся в 2 раза
-
Какое будет состояние базы данных после команды
DELETE FROM sp
Таблица sp будет удалена полностью !!!
-
Какое будет состояние базы данных после команды
DELETE FROM sp WHERE qty NOT BETWEEN 200 AND 300
из sp удалятся строки с QTY = 200 и 300
-
Какое изменение базы данных произведет команда
DELETE FROM s WHERE Статус = 10 OR город = ‘Athens’
удалятся строки со статусом 10 или с городом = Athens
-
Какое изменение базы данных произведет команда
INSERT INTO s (Название, s_no) VALUE (‘Mueller’, ‘s6’)
Добавится строка s6 Mueller Null Null
-
Какое изменение базы данных произведет команда
INSERT INTO s VALUE (‘s6’, ‘Mueller’, , ‘Berlin’)
Добавится строка s6 Mueller Null Berlin
-
Какой результат возвратит команда
SELECT s_no, Название FROM s WHERE NOT EXISTS (SELECT * FROM sp WHERE sp.s_no = s_no)
s5 Adams
-
Какой результат возвратит команда
SELECT s_no, Название FROM s WHERE EXISTS (SELECT * FROM sp WHERE sp.s_no = s_no)
s1 Smith
s2 Jones
s3 Blake
s4 Clark
-
Какой результат возвратит команда
SELECT s_no, Название FROM s WHERE город NOT IN (SELECT город FROM p)
s5 Adams
-
Какой результат возвратит команда
SELECT s_no, Название FROM s WHERE город IN (SELECT город FROM p)
s1 Smith
s2 Jones
s3 Blake
s4 Clark
-
Какой результат возвратит команда
SELECT s_no, Название FROM s WHERE город IN (‘Athens’, ‘London’)
s4 Clark
s5 Adams
-
Какой результат возвратит команда
SELECT DISTINCT город, ‘s’ AS ind FROM s UNION SELECT DISTINCT город, ‘p’ AS ind FROM p
город ind
Athens s
London p
London s
Paris p
Paris s
Rome p
-
Какой результат возвратит команда
SELECT DISTINCT город FROM s UNION SELECT DISTINCT город FROM p
Athens
London
Paris
Rome
-
Какой результат возвратит команда
SELECT s_no AS no, Название AS name FROM s WHERE Статус = 20
UNION
SELECT p_no AS no, pname AS name FROM p WHERE color = ‘Green’
no name
p2 Bolt
s1 Smith
s4 Clark
-
Какой результат возвратит команда
SELECT s_no, Название, qty FROM s NATURAL JOIN sp WHERE s_no = ‘s5’
пусто?
-
Какой результат возвратит команда
SELECT s_no, Название, qty FROM s LEFT JOIN sp USING (s_no) WHERE s_no = ‘s5’
s5 Adams Null
-
Какой результат возвратит команда
SELECT s_no, Название, qty FROM s NATURAL JOIN sp WHERE s_no = ‘s2’
s2 Jones 300
s2 Jones 400
-
Какой результат возвратит команда
SELECT s_no, Название, qty FROM s JOIN sp USING (s_no) WHERE s_no = ‘s2’
s2 Jones 300
s2 Jones 400
-
Какой результат возвратит команда
SELECT s_no, Название, qty FROM s JOIN sp ON (s_no = sp.s_no) WHERE s_no = ‘s2’
s2 Jones 300
s2 Jones 400
-
Какой результат возвратит команда
SELECT s_no, Название, qty FROM s, sp WHERE s_no = sp.s_no AND s_no = ‘s2’
s2 Jones 300
s2 Jones 400
-
Какой результат возвратит команда
SELECT s_no, AVG(qty) AS avgQty FROM sp GROUP BY s_no
Код avgQty
s1 216
s2 350
s3 200
s4 300
-
Какой результат возвратит команда
SELECT s_no, MAX(qty) AS maxQty FROM sp GROUP BY s_no
Код maxQty
s1 400
s2 400
s3 200
s4 400
-
Какой результат возвратит команда
SELECT s_no, MIN(qty) AS minQty FROM sp GROUP BY s_no
Код minQty
s1 100
s2 300
s3 200
s4 200
-
Какой результат возвратит команда
SELECT город, COUNT(*) AS cnt FROM s GROUP BY город
город cnt
London 2
Paris 2
Athens 1
-
Какой результат возвратит команда
SELECT AVG(Статус) AS avg FROM s
avg
21
-
Какой результат возвратит команда
SELECT MAX(Статус) AS max FROM s
max
30
-
Какой результат возвратит команда
SELECT MIN(Статус) AS min FROM s
min
10
-
Какой результат возвратит команда
SELECT COUNT(DISTINCT город) AS nгород FROM s
nгород
3
-
Какой результат возвратит команда
SELECT COUNT(*) AS cnt FROM s
cnt
5
-
Какой результат возвратит команда
SELECT s_no FROM s WHERE Название LIKE %th
s1
-
Какой результат возвратит команда
SELECT город FROM s ORDER BY город
Athens
London
London
Paris
Paris
-
Какой результат возвратит команда
SELECT DISTINCT город FROM s
Athens
London
Paris
-
Какой результат возвратит команда
SELECT город FROM s
London
Paris
Paris
London
Athens
-
Какой результат возвратит команда
SELECT s_no, Название FROM s WHERE Статус BETWEEN 0 AND 20
s1 Smith
s2 Jones
s4 Clark
-
Какой результат возвратит команда
SELECT s_no, Название FROM s WHERE Статус IN (10, 20)
s1 Smith
s2 Jones
s4 Clark
-
Какой результат возвратит команда
SELECT * FROM s WHERE Статус = 20
s1 Smith 20 London
s4 Clark 20 London