Решение задач с сайта sql-ex.ru 1-10
Задание: 1
Найдите номер модели, скорость и размер жесткого диска для всех ПК стоимостью менее 500 дол. Вывести: model, speed и hd
001 | |
Задание: 2
Найдите производителей принтеров. Вывести: maker
001 | |
Задание: 3
Найдите номер модели, объем памяти и размеры экранов ПК-блокнотов, цена которых превышает 1000 дол.
001 | |
Задание: 4
Найдите все записи таблицы Printer для цветных принтеров.
001 | |
Найдите номер модели, скорость и размер жесткого диска ПК, имеющих 12x или 24x CD и цену менее 600 дол.
001 | |
Задание: 6
Укажите производителя и скорость для тех ПК-блокнотов, которые имеют жесткий диск объемом не менее 10 Гбайт.
001 002 | |
Задание: 7
Найдите номера моделей и цены всех продуктов (любого типа), выпущенных производителем B (латинская буква).
001 002 003 004 005 006 007 008 | |
Задание: 8
Найдите производителя, выпускающего ПК, но не ПК-блокноты.
001 002 | |
Задание: 9
Найдите производителей ПК с процессором не менее 450 Мгц. Вывести: Maker
001 002 | |
Задание: 10
Найдите принтеры, имеющие самую высокую цену. Вывести: model, price
001 | |
Решение задач по SQL | I Portal
Знание SQL необходимо любому back-end разработчику, независимо от языка программирования. В данном выпуске продемонстрирован список вариантов решений задач популярного сайта sql-ex.ru.
Перед выполнением задач, необходимо понимать структуру sql запроса:
SELECT столбцы FROM таблица [WHERE условие_фильтрации_строк] [GROUP BY столбцы_для_группировки] [HAVING условие_фильтрации_групп] [ORDER BY столбцы_для_сортировки]
Оператор HAVING позволяет выполнить фильтрацию групп, то есть определяет, какие группы будут включены в выходной результат.
Использование HAVING во многом аналогично применению WHERE. Только если WHERE применяется для фильтрации строк, то HAVING — для фильтрации групп.
1. Найдите номер модели, скорость и размер жесткого диска для всех ПК стоимостью менее 500 дол. Вывести: model, speed и hd
select model, speed, hd from pc where price < 500
2. Найдите производителей принтеров. Вывести: maker
SELECT maker FROM Product WHERE type = ‘Printer’ GROUP BY maker
3. Найдите номер модели, объем памяти и размеры экранов ПК-блокнотов, цена которых превышает 1000 дол.
Select model, ram, screen from laptop where price > 1000
4. Найдите все записи таблицы Printer для цветных принтеров.
Select * from printer where color = ‘y’
5. Найдите номер модели, скорость и размер жесткого диска ПК, имеющих 12x или 24x CD и цену менее 600 дол.
Select model, speed, hd from pc where (cd = ’12x’ or cd = ’24x’) and price < 600
6. Для каждого производителя, выпускающего ПК-блокноты c объёмом жесткого диска не менее 10 Гбайт, найти скорости таких ПК-блокнотов. Вывод: производитель, скорость.
Select distinct p.maker as maker, l.speed as speed from laptop l join product p on l.model = p.model where l.hd >= 10
7. Найдите номера моделей и цены всех имеющихся в продаже продуктов (любого типа) производителя B (латинская буква).
Select distinct p.model, pc.price from product p join pc on p.model = pc.model where maker = ‘B’ union Select distinct p.model, l.price from product p join laptop l on p.model = l.model where maker = ‘B’ union Select distinct p.model, pr.price from product p join printer pr on p.model = pr.model where maker = ‘B’
8. Найдите производителя, выпускающего ПК, но не ПК-блокноты.
select maker from product where type = ‘pc’ except select maker from product where type = ‘laptop’ или select distinct maker from product where type = ‘pc’ and maker not in (SELECT maker from product where type = ‘laptop’)
9. Найдите производителей ПК с процессором не менее 450 Мгц. Вывести: Maker
Select distinct p.maker from product p join pc pc on p.model = pc.model where pc.speed >= ‘450’
10. Найдите модели принтеров, имеющих самую высокую цену. Вывести: model, price
SELECT DISTINCT model, price FROM printer where price = (SELECT MAX(price) FROM printer)
11. Найдите среднюю скорость ПК.
SELECT AVG(speed) FROM PC
12. Найдите среднюю скорость ПК-блокнотов, цена которых превышает 1000 дол.
Select AVG(speed) from laptop where price > ‘1000’
13. Найдите среднюю скорость ПК, выпущенных производителем A
Select avg(pc.speed) from pc join product p on pc.model = p.model where maker = ‘A’
14. Найдите класс, имя и страну для кораблей из таблицы Ships, имеющих не менее 10 орудий.
Select s.class, s.name, c.country from classes c join ships s on c.class = s.class where numguns >= ’10’
15. Найдите размеры жестких дисков, совпадающих у двух и более PC. Вывести: HD
SELECT hd FROM PC group by hd having count(model) >= 2
16. Найдите пары моделей PC, имеющих одинаковые скорость и RAM. В результате каждая пара указывается только один раз, т.е. (i,j), но не (j,i), Порядок вывода: модель с большим номером, модель с меньшим номером, скорость и RAM.
SELECT DISTINCT A.model AS model, B.model AS model, A.speed As speed, A.ram As ram FROM PC AS A, PC B WHERE A.speed = B.speed AND A.ram = B.ram AND A.model > B.model
17. Найдите модели ПК-блокнотов, скорость которых меньше скорости каждого из ПК. Вывести: type, model, speed
SELECT DISTINCT type, model, speed
FROM Laptop, (SELECT type FROM Product) AS Prod(type) WHERE speed < ALL (SELECT speed FROM PC) and type = ‘laptop’ или SELECT DISTINCT p.type, l.model, l.speed from laptop l join product p on p.model = l.model where l.speed < ALL (select speed from pc)
18. Найдите производителей самых дешевых цветных принтеров. Вывести: maker, price
Select distinct p.maker, pr.price from product p join printer pr on p.model = pr.model where pr.price = (SELECT MIN(price)
FROM printer where color = ‘y’) and pr.color = ‘y’
19. Для каждого производителя, имеющего модели в таблице Laptop, найдите средний размер экрана выпускаемых им ПК-блокнотов.
Вывести: maker, средний размер экрана.
Select p.maker, AVG(l.screen) from product p join laptop l on p.model = l.model group by p.maker
20. Найдите производителей, выпускающих по меньшей мере три различных модели ПК. Вывести: Maker, число моделей ПК.
Select maker, count(model) as Count_Model from product WHERE type = ‘pc’ group by maker having count(model) >= 3
21. Найдите максимальную цену ПК, выпускаемых каждым производителем, у которого есть модели в таблице PC.
Вывести: maker, максимальная цена.
Select p.maker, max(pc.price) as max_price from product p join pc pc on p.model = pc.model group by maker
22. Для каждого значения скорости ПК, превышающего 600 МГц, определите среднюю цену ПК с такой же скоростью. Вывести: speed, средняя цена.
Select speed, avg(price) from pc where speed > ‘600’ group by speed
23. Найдите производителей, которые производили бы как ПК
со скоростью не менее 750 МГц, так и ПК-блокноты со скоростью не менее 750 МГц. Вывести: Maker
Select p.maker from product p join pc pc on p.model = pc.model where pc.speed >= ‘750’ intersect Select p.maker from product p join laptop l on p.model = l.model where l.speed >= ‘750’
24. Перечислите номера моделей любых типов, имеющих самую высокую цену по всей имеющейся в базе данных продукции.
WITH all_model AS (
SELECT model, price FROM pc
UNION ALL
SELECT model, price FROM printer
UNION ALL
SELECT model, price FROM laptop )
SELECT distinct model
FROM all_model WHERE price = ALL ( SELECT max(price) FROM all_model)
25. Найдите производителей принтеров, которые производят ПК с наименьшим объемом RAM и с самым быстрым процессором среди всех ПК, имеющих наименьший объем RAM. Вывести: Maker
select distinct p.maker from product p join pc on p.model = pc.model where pc.ram = (select min(ram) from pc) and pc.speed = (SELECT MAX(speed) FROM pc WHERE ram = (SELECT MIN(ram) FROM pc)) and p.maker in (SELECT maker FROM product WHERE type = ‘printer’)
26. Найдите среднюю цену ПК и ПК-блокнотов, выпущенных производителем A (латинская буква). Вывести: одна общая средняя цена.
SELECT AVG(price) as Avg_price FROM (SELECT price
FROM PC WHERE model IN (SELECT model FROM product WHERE maker=’A’ AND type=’PC’) UNION ALL SELECT price
FROM Laptop
WHERE model IN (SELECT model FROM product WHERE maker=’A’ AND
type=’Laptop’)
) AS prods
27. Найдите средний размер диска ПК каждого из тех производителей, которые выпускают и принтеры. Вывести: maker, средний размер HD.
SELECT p.maker, avg(pc.hd) from product p join pc pc on p.model = pc.model WHERE pc.model IN (SELECT model FROM pc) AND maker IN (
SELECT maker FROM product WHERE type=’printer’) group by maker или select p.maker, avg(pc.hd) as avg_hd from product p join pc on p.model = pc.model where p.maker in (select maker from product where type = ‘printer’) group by p.maker
28. Используя таблицу Product, определить количество производителей, выпускающих по одной модели.
select count(maker) as qty from (SELECT distinct maker
FROM product group by maker having count(model) = 1) AS prod или select distinct count(maker) as qty from product where maker in (Select maker from product group by maker having count(model) = 1)
29. В предположении, что приход и расход денег на каждом пункте приема фиксируется не чаще одного раза в день [т.е. первичный ключ (пункт, дата)], написать запрос с выходными данными (пункт, дата, приход, расход). Использовать таблицы Income_o и Outcome_o.
Select i.point, i.date, inc, out from income_o i left join outcome_o o on i.point = o.point and i.date = o.date
union
Select o.point, o.date, inc, out from income_o i right join outcome_o o on i.point = o.point and i.date = o.date
30. В предположении, что приход и расход денег на каждом пункте приема фиксируется произвольное число раз (первичным ключом в таблицах является столбец code), требуется получить таблицу, в которой каждому пункту за каждую дату выполнения операций будет соответствовать одна строка.
Вывод: point, date, суммарный расход пункта за день (out), суммарный приход пункта за день (inc). Отсутствующие значения считать неопределенными (NULL).
select point, date, SUM(sum_out), SUM(sum_inc)
from( select point, date, SUM(inc) as sum_inc, null as sum_out from Income Group by point, date
Union
select point, date, null as sum_inc, SUM(out) as sum_out from Outcome Group by point, date ) as t
group by point, date order by point
31. Для классов кораблей, калибр орудий которых не менее 16 дюймов, укажите класс и страну.
Select class, country from classes where bore >= ’16’
32. Одной из характеристик корабля является половина куба калибра его главных орудий (mw). С точностью до 2 десятичных знаков определите среднее значение mw для кораблей каждой страны, у которой есть корабли в базе данных.
Select country, cast(avg((power(bore,3)/2)) as numeric(6,2)) as weight
from (select country, classes.class, bore, name from classes left join ships on classes.class=ships.class
union all
select distinct country, class, bore, ship from classes t1 left join outcomes t2 on t1.class=t2.ship
where ship=class and ship not in (select name from ships) ) a
where name!=’null’ group by country
33. Укажите корабли, потопленные в сражениях в Северной Атлантике (North Atlantic). Вывод: ship.
Select ship from outcomes where result = ‘sunk’ and battle = ‘North Atlantic’
34. По Вашингтонскому международному договору от начала 1922 г. запрещалось строить линейные корабли водоизмещением более 35 тыс.тонн. Укажите корабли, нарушившие этот договор (учитывать только корабли c известным годом спуска на воду). Вывести названия кораблей.
Select distinct name from classes, ships where launched >=1922 and displacement>35000 and type=’bb’ and
ships.class = classes.class
35. В таблице Product найти модели, которые состоят только из цифр или только из латинских букв (A-Z, без учета регистра).a-z]%’
36. Перечислите названия головных кораблей, имеющихся в базе данных (учесть корабли в Outcomes).
Select distinct c.class from classes c join outcomes o on c.class = o.ship
union
Select distinct c.class from classes c join ships s on c.class = s.class where s.class = s.name
37. Найдите классы, в которые входит только один корабль из базы данных (учесть также корабли в Outcomes).
select class from (Select distinct c.class, o.ship as name from classes c join outcomes o on c.class = o.ship
union
Select distinct c.class,s.name from classes c join ships s on c.class = s.class) as main_class group by class having count(main_class.name) = 1
или
Select class from(select class, name from ships
union
select class, ship as name from outcomes join classes on classes.class = outcomes.ship) as A
group by class having count(A.name)=1
38. Найдите страны, имевшие когда-либо классы обычных боевых кораблей (‘bb’) и имевшие когда-либо классы крейсеров (‘bc’).
SELECT country FROM classes where type = ‘bb’
INTERSECT
SELECT country FROM classes where type = ‘bc’
39. Найдите корабли, `сохранившиеся для будущих сражений`; т.е. выведенные из строя в одной битве (damaged), они участвовали в другой, произошедшей позже.
select distinct B.ship
from(select * from outcomes left join battles on battle=name where result=’damaged’) as B
where exists (select ship from outcomes left join battles on battle=name
where ship=B.ship and B.date<date) или select distinct o.ship from outcomes o join battles b on o.battle = b.name where o.result = ‘damaged’ AND
EXISTS (SELECT battles.date
FROM battles join outcomes on outcomes.battle = battles.name
WHERE battles.date > b.date and outcomes.ship = o.ship)
или
select distinct o.ship from outcomes o join battles b on o.battle = b.name where o.result = ‘damaged’ AND
EXISTS (SELECT battles.date
FROM battles join outcomes on outcomes.battle = battles.name
WHERE battles.date > b.date and outcomes.ship = o.ship)
40. Найти производителей, которые выпускают более одной модели, при этом все выпускаемые производителем модели являются продуктами одного типа. Вывести: maker, type
select maker, type from product
where maker in (SELECT maker FROM
(SELECT maker, type FROM Product GROUP BY maker, type) Alias
group by maker having count(maker) = 1) group by maker, type having count(type)>1
или
SELECT distinct maker, max(type) as type
FROM product
GROUP BY maker
HAVING COUNT(distinct type) = 1 AND COUNT(model) > 1
41. Для каждого производителя, у которого присутствуют модели хотя бы в одной из таблиц PC, Laptop или Printer,
определить максимальную цену на его продукцию.
Вывод: имя производителя, если среди цен на продукцию данного производителя присутствует NULL, то выводить для этого производителя NULL,
иначе максимальную цену.
with D as
(select model, price from PC
union
select model, price from Laptop
union
select model, price from Printer)
Select distinct P.maker,
CASE WHEN MAX(CASE WHEN D.price IS NULL THEN 1 ELSE 0 END) = 0 THEN
MAX(D.price) END
from Product P
right join D on P.model=D.model
group by P.maker
42. Найдите названия кораблей, потопленных в сражениях, и название сражения, в котором они были потоплены.
Select ship, battle from outcomes where result = ‘sunk’
43. Укажите сражения, которые произошли в годы, не совпадающие ни с одним из годов спуска кораблей на воду.
select name from battles where DATEPART(yy, date) not in (select DATEPART(yy, date)
from battles join ships on DATEPART(yy, date)=launched)
или
SELECT distinct b.name
FROM Outcomes o right JOIN
battles b ON o.ship = b.name where DATEPART(yy, b.date) not in (select launched from ships)
44. Найдите названия всех кораблей в базе данных, начинающихся с буквы R.
Select name from ships where name like ‘R%’
union
Select ship from outcomes where ship like ‘R%’
45. Найдите названия всех кораблей в базе данных, состоящие из трех и более слов (например, King George V).
Считать, что слова в названиях разделяются единичными пробелами, и нет концевых пробелов.
Select name from ships where name like ‘% % %’
union
Select ship from outcomes where ship like ‘% % %’
46. Для каждого корабля, участвовавшего в сражении при Гвадалканале (Guadalcanal), вывести название, водоизмещение и число орудий.
SELECT DISTINCT ship, displacement, numguns
FROM classes LEFT JOIN ships ON classes.class=ships.class RIGHT JOIN outcomes ON classes.class=ship OR ships.name=ship
WHERE battle=’Guadalcanal’
47. Определить страны, которые потеряли в сражениях все свои корабли.
WITH out AS (SELECT *
FROM outcomes JOIN (SELECT ships.name s_name, classes.class s_class, classes.country s_country
FROM ships FULL JOIN classes
ON ships.class = classes.class
) u
ON outcomes.ship=u.s_class
UNION
SELECT *
FROM outcomes JOIN (SELECT ships.name s_name, classes.class s_class, classes.country s_country
FROM ships FULL JOIN classes
ON ships.class = classes.class
) u
ON outcomes.ship=u.s_name)
SELECT fin.country
FROM (
SELECT DISTINCT t.country, COUNT(t.name) AS num_ships
FROM (
select distinct c.country, s.name
from classes c
inner join Ships s on s.class= c.class
union
select distinct c.country, o.ship
from classes c
inner join Outcomes o on o.ship= c.class) t
GROUP BY t.country
INTERSECT
SELECT out.s_country, COUNT(out.ship) AS num_ships
FROM out
WHERE out.result=’sunk’
GROUP BY out.s_country) fin
48. Найдите классы кораблей, в которых хотя бы один корабль был потоплен в сражении.
select class
from classes t1 left join outcomes t2 on t1.class=t2.ship where result=’sunk’
union
select class
from ships left join outcomes on ships.name=outcomes.ship where result=’sunk’
49. Найдите названия кораблей с орудиями калибра 16 дюймов (учесть корабли из таблицы Outcomes).
select s.name from ships s join classes c on s.name=c.class or s.class = c.class where c.bore = 16
union
select o.ship from outcomes o join classes c on o.ship=c.class where c.bore = 16
50. Найдите сражения, в которых участвовали корабли класса Kongo из таблицы Ships.
Select distinct o.battle from ships s join outcomes o on s.name = o.ship where s.class = ‘kongo’
51. Найдите названия кораблей, имеющих наибольшее число орудий среди всех имеющихся кораблей такого же водоизмещения (учесть корабли из таблицы Outcomes).
select NAME from(select name as NAME, displacement, numguns from ships inner join classes on ships.class = classes.class union select ship as NAME, displacement, numguns from outcomes inner join classes on outcomes.ship= classes.class) as d1 inner join (select displacement, max(numGuns) as numguns from ( select displacement, numguns from ships inner join classes on ships.class = classes.class union select displacement, numguns from outcomes inner join classes on outcomes.ship= classes.class) as f group by displacement) as d2 on d1.displacement=d2.displacement and d1.numguns =d2.numguns
52. Определить названия всех кораблей из таблицы Ships, которые могут быть линейным японским кораблем, имеющим число главных орудий не менее девяти, калибр орудий менее 19 дюймов и водоизмещение не более 65 тыс.тонн
select s.name from ships s join classes c on s.class = c.class where country = ‘japan’ and (numGuns >= ‘9’ or numGuns is null) and (bore < ’19’ or bore is null) and (displacement <= ‘65000’ or displacement is null) and type=’bb’
53. Определите среднее число орудий для классов линейных кораблей. Получить результат с точностью до 2-х десятичных знаков.
Select CAST(AVG(numguns*1.0) AS NUMERIC(6,2)) as Avg_nmg from classes where type = ‘bb’
54. С точностью до 2-х десятичных знаков определите среднее число орудий всех линейных кораблей (учесть корабли из таблицы Outcomes).
select CAST(AVG(numguns*1.0) AS NUMERIC(6,2)) as AVG_nmg from (select ship, numguns, type from Outcomes join classes on ship = class
union
select name, numguns, type from ships s join classes c on c.class = s.class) as x where type = ‘bb’
55. Для каждого класса определите год, когда был спущен на воду первый корабль этого класса. Если год спуска на воду головного корабля неизвестен, определите минимальный год спуска на воду кораблей этого класса. Вывести: класс, год.
Select c.class, min(s.launched) from classes c left join ships s on c.class = s.class group by c.class
56. Для каждого класса определите число кораблей этого класса, потопленных в сражениях. Вывести: класс и число потопленных кораблей.
SELECT c.class, COUNT(s.ship)
FROM classes c
LEFT JOIN (SELECT o.ship, sh.class
FROM outcomes o
LEFT JOIN ships sh ON sh.name = o.ship
WHERE o.result = ‘sunk’) AS s ON s.class = c.class OR s.ship = c.class
GROUP BY c.class
SQL DML упражнение 10 — CodeRoad
Я часто пользовался SO, но никогда не подписывался. У меня есть проблема, на которой я застрял, и я не могу понять, как получить правильный запрос. Итак, во-первых, этот вопрос относится к www.sql-ex.ru и его упражнению 10 в разделе DML.
Вот вся информация:
Схема базы данных состоит из четырех таблиц: продукт (производитель, модель, тип) PC (код, модель, скорость, ram, hd, cd, цена) ноутбук (код, модель, скорость, ram, hd, экран, цена) принтер (код, модель, цвет, тип, цена) Таблица «Product» содержит информацию о производителе, номере модели и типе (‘PC’, ‘Laptop’ или ‘Printer’). Предполагается, что номера моделей в таблице продуктов являются уникальными для всех производителей и типов продуктов. Каждый PC однозначно задается кодом в таблице «PC» характеризуется моделью (внешний ключ ссылки на таблицу продуктов), скоростью работы (процессора в MHz), общим объемом RAM — ram (в Мб), емкостью жесткого диска-hd (в ГБ), скоростью работы CD-ROM-cd (например, ‘4x’), и цена. Таблица «Laptop» похожа на таблицу PCs за исключением скорости CD-ROM, которая заменяется размером экрана — экран (в дюймах). Для каждого принтера в таблице «Printer» указывается , является ли принтер цветным или нет (атрибут цвета-‘y’ для цветных принтеров; в противном случае-‘n’), тип принтера (лазерный, струйный или матричный) и цена.
Добавьте в таблицу PC все модели из таблицы Product, которые отсутствуют в таблице PC.
Наряду с вышеизложенным вставленные модели должны иметь технические характеристики:
Код должен быть равен номеру модели плюс максимальное значение кода, которое было в таблице PC до операции вставки.
Скорость, емкость RAM и HD, а также скорость CD должны быть максимальными среди всех доступных соответствующих значений в таблице PC.
Цена должна быть средней среди всех PCs, которые были в таблице PC до операции вставки.
Вот мой запрос:
INSERT INTO PC
SELECT
p.model + MAX(pc.code),
p.model,
MAX(pc.speed) speed,
MAX(pc.ram) ram,
MAX(pc.hd) hd,
MAX(pc.cd) cd,
AVG(pc.price) price
FROM
product p, pc pc
WHERE
type= 'pc'
AND
p.model NOT IN (SELECT model from pc)
GROUP BY
p.model
Теперь я получаю правильный результат, но следующую ошибку:
Ваш запрос произвел правильный набор результатов в основной базе данных, но он не прошел тест на второй, проверяющей базе данных. * Несоответствие данных (1)
Что из их FAQ означает:
Если ответ логически верен, он всегда будет считаться правильным ответ. Существует небольшая вероятность того, что логически неправильный ответ будет расценен как правильный. Для выяснения правильности запроса используются две базы данных с одинаковой структурой и разными данными. Если система говорит вам, что ваш запрос неверен, но вы можете видеть совпадающие результаты, что означает, что ваш запрос дает неправильный ответ на второй базе данных. И все же есть вероятность, что логически неверно запрос вернет правильный результирующий набор. Эта возможность может быть уменьшена путем точного выбора данных или использования более чем двух баз данных для проверки запроса. Второй способ менее привлекателен, потому что он займет больше времени для ответа пользователям. Отметим, что однажды сформулированный запрос всегда должен возвращать правильный результат независимо от текущего состояния базы данных. Если у вас есть обоснованные сомнения в правильности суждения запроса, пожалуйста, отправьте свой код разработчикам системы.
Любая помощь будет очень признательна!
sql dmlПоделиться Источник user3341219 22 февраля 2014 в 17:27
1 ответ
- PL\SQL DML инструкция
— Зафиксировать инструкция DML в PL\SQL?
- MySQL триггеры DML
Я знаю, что триггеры MySQL-это только триггеры DML (обновление, удаление, вставка). В SQL Server триггеры могут быть выполнены After или Instead of по отношению к оператору, на котором они выполняются. SQL Server не поддерживает триггеры Before. К какому типу триггеров относятся триггеры MySQL…
2
Проблема в том, что скорость cd обрабатывается как строка, а не как число. Так, например, 2x больше, чем 16x. Вы должны сделать скорость компакт-диска числом.
Но на его конце есть ‘x’, который вы должны обрезать. Затем вы можете привести его к номеру и правильно запустить на нем функцию max(). В конце концов вы должны вернуть его обратно в строку и повторно добавить ‘x’ в ее конец.
Вот рабочий код
INSERT INTO PC SELECT p.model + MAX(pc.code) code, p.model, MAX(pc.speed) speed, MAX(pc.ram) ram,
<
MAX(pc.hd) hd, CAST(MAX(CAST(REPLACE(pc.cd,'x','')AS int))AS varchar)+'x' cd, AVG(pc.price) price FROM product p INNER JOIN pc ON p.type= 'pc' WHERE p.model NOT IN (SELECT model from pc) GROUP BY p.model
На самом деле спасибо за ваш код 🙂 Я не смог разобраться в этом сам. Как только я скопировал ваш, я довольно быстро нашел проблему 🙂
Поделиться user3535633 15 апреля 2014 в 11:08
Похожие вопросы:
sql DML упражнение 19
Я работал над этим запросом уже пару раз, мне удалось найти решение, но в самом решении упражнения говорится, что я получил правильное количество результатов, но несоответствие. Это упражнение они…
SQL DML упражнение 14
У меня есть проблема, на которой я застрял, и я не могу понять, как получить правильный запрос. Итак, во-первых, этот вопрос относится к www.sql-ex.ru и его упражнению 10 в разделе DML. Вот вся…
ОШИБКА T-PUMP DML
Во время работы T-PUMP я получаю ошибку DML. Вот мой скрипт, который загружает данные из файла в таблицу infa_source12 : .LOGTABLE etlt5.EMP_TPUMP_LOG; .logon ttdbia/USR/PASSWRD; .BEGIN LOAD; PACK 5…
PL\SQL DML инструкция
— Зафиксировать инструкция DML в PL\SQL?
MySQL триггеры DML
Я знаю, что триггеры MySQL-это только триггеры DML (обновление, удаление, вставка). В SQL Server триггеры могут быть выполнены After или Instead of по отношению к оператору, на котором они…
SQL запрос-DDL или DML
У меня есть запрос относительно идентификации типов запросов SQL, с помощью которого я хочу выяснить, выполняются ли какие-либо операторы DDL. Существует ли какой-либо C# API доступный для…
ведение журнала ошибок dml для SQL Server
Я ищу журнал ошибок dml, подобный oracle в Sql Server, может ли что-то подобное быть возможным в SQL Server. Спасибо
Команда SQL — DDL аналогична команде DML delete
Какая команда SQL DDL аналогична команде DML delete? Я думаю, что это усечение, но может ли это быть падение?
Как ограничить использование ресурсов SQL-DML
У меня есть один сервер под управлением Oracle 11g и Server 2008r2 с 32 ГБ RAM и 2 четырехъядерными ядрами CPUs на частоте 3 ГГц (всего 8 ядер, нет HT). Мои диски состоят из 4 10 000 оборотов в…
FireDAC, массив DML, SQL Server и IDENTITY_INSERT
Я пытаюсь экспортировать данные в SQL Server помощью функции управляющих различными DML. В таблице назначения есть столбец IDENTITY, и мне нужно поместить в него явное значение. Но мой запрос…
SQL-ex задачи 120-136, выполненное решение задач по базам данных на Автор24
Типы данных в SQL
Программой MySQL поддерживается несколько типов данных: строковые, календарные, числовые данные и данные NULL-типа.
Рассмотрим некоторые из них.
CHAR (N) – предназначен для хранения строки фиксированной длины N. Число N может принимать значения от 0 до 65 535. Занимаемый объем памяти – N символов, максимальный размер – N символов.
VARCHAR (N) – предназначен для хранения переменных строк длиной K. Чи…
Операции над датами и временем в SQL
Для получения текущей даты (без времени) в формате YYYY-MM-DD можно использовать функции:
Для получения текущего времени (без даты) в формате HH:MM:SS можно использовать функции:
Для получения текущих даты и времени в формате YYYY-MM-DD HH:MM:SS можно использовать любую из следующих функций:
С датами и временем часто приходится проводить арифметические операции: прибавлять к заданной дате определе…
1NF – первая нормальная форма
Рассмотрим несколько определений для обсуждения первой нормальной формы.
Глубину структурирования определяет практическая необходимость при работе с данными. Можно привести пример глубины структурирования адреса. Весь адрес с указанием города, улицы, дома, квартиры можно хранить в одном поле. Этот атрибут является атомарным, если не нужно выполнять операции над отдельными улицами или городами, инач…
Администрирование локальных сетей
В самом начале своего появления компьютеры были автономными и работали независимо друг от друга. С ростом числа компьютеров возникла потребность в их совместной работе. В определенном смысле это связано с деятельностью самих пользователей, которая проходила в рамках одного документа. Для решения данной проблемы стали создавать, а затем и использовать локальные и глобальные сети, создание которых п…
подробнееКак решать задачи на SQL
Задачи и решения по sql 120 штук sql ex на сайте :https://exercises-on-sql.blogspot.com/2017/02/select-sql.html
sql-ex
задачи по sql
sql задачи
используя таблицу product, определить количество производителей, выпускающих по одной модели.
для каждого производителя, выпускающего пк-блокноты c объёмом жесткого диска не менее 10 гбайт, найти скорости таких пк-блокнотов. вывод: производитель, скорость.
найдите номера моделей и цены всех имеющихся в продаже продуктов (любого типа) производителя b (латинская буква).
sql тренажер
sql-ex ru решения задач
упражнения по sql
найдите производителя, выпускающего пк, но не пк-блокноты.
mysql для начинающих
sql упражнения
найдите производителей принтеров. вывести: maker
sql ex ответы
sql тренажер онлайн
упражнения sql
определить страны, которые потеряли в сражениях все свои корабли.
агрегатные функции sql
sql #задачи и решения
sql.ex
sql подзапросы
задачи sql
having count sql описание
вложенные запросы sql
найдите среднюю цену пк и пк-блокнотов, выпущенных производителем a (латинская буква). вывести: одна общая средняя цена.
sql-ex решения
sql упражнения онлайн
sqlex #sqlex
найдите производителей самых дешевых цветных принтеров. вывести: maker, price
datepart sql
в таблице product найти модели, которые состоят только из цифр или только из латинских букв (a-z, без учета регистра). вывод: номер модели, тип модели. #mysql
тренажер sql
sql соединение таблиц
накопительный итог
#КомандыSQL #CREATESEQUENCE #CREATESYNONYM #CREATEUSER #CREATEVIEW #CreateTable #DROP #GRANT #INSERT #REVOKE #ROLE #HAVING #ORDERBY #WHERE
#TRANSACTION #ALTER #TABLE #DELETE #UPDATE #SQLкоманды #SELECT #УсловиявSQL #CHECK #FOREIGNKEY #PRIMARYKEY #SQLПодзапросы #FROM #GROUPBY
#UNION #UNIQUE #NULL #ФункцииSQL #SQLAVG #SQLCOUNT #DMl #dmlsql #SQLdml #ОсноваSQL #ВведениеSQL #Индексы #ROWID #Oracle #ТипыданныхSQL #msSQL
#PHP #Ajax #CSS #HTML #MySQL #Laravel #Git #Docker #software #Mssql #Java #JavaEE #Javaservlet #intern
#JavaScript #sql #db #SQLite #Хранилищаданных #Вебаналитика #хранилищеданных #Администрирование #PostgreSQL #БазыДанных #БД
—————
Три волшебных буквы SQL
Время прочтения: 2 мин.С каждым днём данных становится всё больше и больше, а нам — аудиторам всё сложнее и сложнее их обрабатывать. Для этого необходимо не стоять на месте и постоянно совершенствовать свои знания и делать это эффективно. Можно прочесть тысячи книг, но пока не столкнёшься с задачей лицом к лицу, знания, по большому счёту, бесполезны. Как говорится: теория без практики слаба, а практика без теории слепа.
Один из основных инструментов работы с информацией — язык структурированных запросов (SQL). Представим, что у нас есть конкретная задача и база данных, информацию из которой мы хотим обработать. Но что делать дальше? Как сделать свой первый select, как получить те данные, которые нужны? Как перед встречей с реальной задачей уже натренировать мозг?
Решение есть!
Хотим посоветовать очень удобный ресурс для изучения SQL.
По сути, это два сайта – теория (www.sql-tutorial.ru) и задачник (www.sql-ex.ru). В каждой теории есть ссылка на задачу, где можно отработать полученные навыки.
Стоит отметить простоту работы с задачником. Вам не нужно устанавливать дополнительных приложений на своё устройство, просто откройте сайт с компьютера или с телефона и пишите запросы, сразу получая результат.
Для каждой задачи существует проверка решения: проверка на открытой базе (на сайте описана структура) и скрытой базе (она недоступна для глаз). Бывает, что на открытой базе запрос возвращает правильное решение, а вот на закрытой базе выборка данных неверна. Это может возникнуть, если вы не предусмотрели какие-то нюансы.
Приятное дополнение – на сайте можно получить сертификат об умении работы с SQL запросами, но только после решения большого количества задач. Безусловно, это совсем не так легко как кажется. Одно можно сказать точно, после решения заданий Вы приобретете необходимый опыт и навыки работы для решения рабочих задач.
Успешного обучения и прохождения тестов!
P.S. не забудьте включить AD block – сайт бесплатный, так что реклама там проскакивает часто.
Проектно-образовательный практикум по созданию и управлению проектами в области финансовых технологий от АО «Тинькофф Банк»: Новости
Монетизация внутренних сервисов – облачный колл-центр
Краткая постановка задачи: проверка гипотезы о том, что для компаний в сегменте малого и среднего бизнеса услуга “обработка звонков” может быть востребована.
Описание: WebOffice (weboffice.tinkoff.ru) – платформа виртуальных рабочих мест сотрудников, предназначенная для привлечения удаленных ресурсов с целью выполнения ими операционной работы, такой как продажи продуктов потенциальным клиентам, назначения встреч с представителями и другое. Вся работа декомпозируется на отдельные задания, у каждого задания есть четко сформулированная цель. Сотрудник из любой точки мира работает с этими заданиями и для достижения целей по ним выполняет простейшие действия, предписанные системой. Логика обработки заданий и стратегия коммуникаций с клиентами реализованы в системе. Для работы сотруднику нужен только современный браузер, гарнитура и стабильный интернет. Нужно проверить гипотезу, что для компаний в сегменте малого и среднего бизнеса услуга “обработка звонков” востребована.
Пример: Есть небольшое агентство по организации детских праздников. Скоро новый год, но заказов пока не очень много. У агентства есть 1832 телефонных номера – людей, который когда-то уже пользовались или интересовались услугами организации детских праздников. Агентство хочет обзвонить эту базу и предложить им сделать заказ. Если агентство совершит обзвон самостоятельно, процесс займет несколько недель. Вместо этого агентство может воспользоваться услугами WebOffice и получить результат за один день.
В рамках проекта студенты освоят следующие профессиональные компетенции:
- Выявление, анализ и формирование актуального списка требований
- Владение языком программирования Python для решения задач анализа данных
- Введение в работу с данными с помощью SQL
- Разработка математической модели нагрузки на сервис
- Анализ профиля потенциального клиента
- Анализ объема рынка
- Оценка конкурентоспособной цены
- Представление о базовой версии продукта
- Оценка необходимых ресурсов и срока реализации
- Освоение методологий “Agile”
______________________________________________________________________________________________
Монетизация внутренних сервисов – верификация
Краткая постановка задачи: проверка гипотезы о том, что для компаний в сегменте малого и среднего бизнеса услуга “верификация” может быть востребована.
Описание: Клиенты в Тинькофф оставляют онлайн-заявку на различные, в том числе кредитные, продукты. Заявка – это вся информация, чтобы принять решение, выдавать ли человеку кредит. При этом иногда по заявке принять решение нельзя, и требуется верификация. Верификация – процесс проверки достоверности данных и их пополнения, чтобы принять итоговое решение. Для клиента это выглядит как звонок от сотрудника колл-центра. Так как это хорошо построенный внутренний процесс для внутреннего использования, есть гипотеза, что можно его продавать на рынке — для небольших компаний, который не могут позволить себе большой штат сотрудников и сложные процессы.
В рамках проекта студенты освоят следующие профессиональные компетенции:
- Выявление, анализ и формирование актуального списка требований
- Владение языком программирования Python для решения задач анализа данных
- Введение в работу с данными с помощью SQL
- Разработка математической модели нагрузки на сервис
- Анализ профиля потенциального клиента
- Анализ объема рынка
- Оценка конкурентоспособной цены
- Представление о базовой версии продукта
- Оценка необходимых ресурсов и срока реализации
- Освоение методологий “Agile”
______________________________________________________________________________________________
Монетизация внутренних сервисов – доставка представителем
Краткая постановка задачи: проверка гипотезы о том, что для компаний в сегменте малого и среднего бизнеса услуга “доставка” может быть востребована.
Описание: В Tinkoff.ru огромная сеть представителей – агентов, который доставляют клиенту продукты (страховой полис, дебетовую карту и тд), проверяют клиента (в случае физлица – идентифицируют, в случае юрлица – определяют, реальную ли деятельность ведет предприниматель и проверяют документы), дозаполняют заявки, предлагают дополнительные продукты и делают многое другое. Так как это хорошо отлаженный, эффективный внутренний процесс, есть идея, что можно его продавать на рынке – для небольших компаний, которым требуется доставка.
Пример: У вас небольшой интернет-магазин, и вам нужно доставлять клиентам товары. Через почту или службы доставки – долго, нанимать своего курьера – дорого. И вы ищете сервис, который предоставит эту услугу удобно и выгодно для вас.
В рамках проекта студенты освоят следующие профессиональные компетенции:
- Выявление и анализ и отслеживание актуального статуса требований
- Владение языком программирования Python для решения задач анализа данных
- Анализ рынка
- Основы конкурентного анализа
- Представление о базовой версии продукта
- Оценка необходимых ресурсов и срока реализации
- Налаживание процесса автоматизации и минимизации издержек
- Освоение методологий “Agile”
______________________________________________________________________________________________
Тинькофф Авто
Краткая постановка задачи: проверка гипотезы о том, что единое приложение для отслеживания технического состояния автомобиля будет востребовано на рынке.
Описание: В Tinkoff.ru несколько миллионов клиентов, и среди них есть множество автолюбителей. Для клиентов разработаны разные продукты — оплата штрафов, карта с повышенным кэшбеком на автомобильные тематики, страховки. Но нет единого приложения, которое позволит организовать все содержание автомобиля — например, помимо перечисленных продуктов, напоминать о сроке сервисного обслуживания, помогать с выбором запчастей и вести аналитику, а в перспективе удаленно управлять автомобилем.Проект позволит проверить гипотезу, насколько может быть востребовано такое приложение.
В рамках проекта студенты освоят следующие профессиональные компетенции:
- Анализ рынка
- Анализ профиля потенциального клиента
- Владение языком программирования Python для решения задач анализа данных
- Основы метода Юнит-экономики (unit economics)
- Основы конкурентного анализа
- Основы B2C маркетинговых исследований
- Представление о базовой версии продукта
- Оценка необходимых ресурсов и срока реализации
- Освоение методологий “Agile”
______________________________________________________________________________________________
Самостоятельный осмотр автомобиля
Краткая постановка задачи: проверка гипотезы о том, что единое приложение для отслеживания технического состояния автомобиля будет востребовано на рынке.
Описание: принятие решения о стоимости страховки для автомобиля страховая компания принимает с помощью агента, который выезжает на осмотр авто и фиксации состояния автомобиля фотографиями. В этом процессе есть несколько проблем – во-первых, работа разъездного агента – это операционные расходы, во-вторых, есть место для мошенничества – некачественных фото или их подмены, в-третьих, процесс заказа страховки пользователем прерывается до выезда представителя. Во время проекта студенты спроектируют базовую версию мобильного приложения, которое позволит пользователю самому сделать необходимые фотографии и отправить в страховую, снабдит его подробной инструкцией и будет проверять качество фото. Вторым этапом проектная группа оценит, насколько востребовано такое приложение на рынке.
В рамках проекта студенты освоят следующие профессиональные компетенции:
- Анализ рынка
- Анализ профиля потенциального клиента
- Владение языком программирования Python для решения задач анализа данных
- Основы метода Юнит-экономики (unit economics)
- Основы конкурентного анализа
- Основы B2C маркетинговых исследований
- Представление о базовой версии продукта
- Оценка необходимых ресурсов и срока реализации
______________________________________________________________________________________________
Бонусы для клиента
Краткая постановка задачи: разработка пользовательских сценариев, повышающую информированность клиента о доступных ему специальных приложениях.
Описание: У клиента Tinkoff.ru может быть множество бонусов – спецпредложения от партнеров, категории повышенного кэшбека, акции и многое другое. Вся эта информация отображается в мобильном приложении. Проблема в том, что предложений много и найти релевантные пользователю во всем объеме данных трудозатратно. Из-за этого многие не пользуются преимуществами и упускают выгоду. В рамках проекта предполагается продумать систему рекомендаций, чтобы показывать человеку не 300+ различных, а 5 самых подходящих ему спецпредложения, разработать удобный поиск по ним и провести переработку дизайна страницы на основе проведенных UX-исследований.
В рамках проекта студенты освоят следующие профессиональные компетенции:
- Анализ рынка
- Анализ профиля потенциального клиента
- Основы B2C маркетинговых исследований
- Основы UX-тестирования и UX-метрик
- Представление о базовой версии продукта
- Оценка необходимых ресурсов и срока реализации
- Освоение методологий “Agile”
______________________________________________________________________________________________
Управление онлайн присутствием
Краткая постановка задачи: проверка гипотезы о том, что единое приложение для управления онлайн присутствием будет востребовано на рынке.
Описание: В Тинькофф Бизнес разрабатываются сервисы, которые увеличивают продажи и помогают бизнесу привлекать клиентов. Один из таких сервисов – управление онлайн присутствием. Чтобы клиенты могли находить компанию, информация о ней должна быть представлена во всех популярных источниках. К ним относятся карты, справочники, навигационные системы, социальные сети и т.п. Ручное размещение и обновление информации является рутинным и затратным процессом. В рамках проекта предполагается спроектировать автоматизацию этого процесса и создать единое окно для управления контентом на всех площадках.
Пример: Представьте небольшой итальянский ресторан. Владелец заходит в личный кабинет Тинькофф Бизнес, указываете название, адрес, описание, часы работы, наличие парковки, возможность приема карт и т.п. Сохраняете эту информацию и через несколько дней она появляется на всех популярных площадках: Яндекс Карты, Google карты, 2gis, maps.me, facebook, tripadvisor и тд.
В рамках проекта студенты освоят следующие профессиональные компетенции:
- Анализ рынка
- Анализ профиля потенциального клиента
- Владение языком программирования Python для решения задач анализа данных
- Основы метода Юнит-экономики (unit economics)
- Основы конкурентного анализа
- Основы B2C маркетинговых исследований
- Представление о базовой версии продукта
- Оценка необходимых ресурсов и срока реализации
______________________________________________________________________________________________
Ипотека для риэлторов
Краткая постановка задачи: разработка приложения для поиска подходящего риэлтора в рамках Тинькофф Ипотеки.
Описание: Для получение ипотеки клиенту нужно пройти 3 основных этапа: одобрение клиента, одобрение объекта и заключение сделки. Одобрение объекта – самый длительный этап, который включает в себя несколько сложных шагов: поиск объекта, договор с покупателем и проверка юридической стороны сделки. На этом этапе клиенты часто обращаются к услугам риэлтора. Рынок подобных услуг привлекает мошенников, поэтому требуется разработка приложения, которое упрощает и автоматизирует процесс поиска проверенного риэлтора для клиента Тинькофф Ипотеки.
В рамках проекта студенты освоят следующие профессиональные компетенции:
- Анализ рынка
- Анализ профиля потенциального клиента
- Владение языком программирования Python для решения задач анализа данных
- Основы метода Юнит-экономики (unit economics)
- Основы анализа и выявления целевой аудитории продукта
- Основы B2C маркетинговых исследований
- Использование ключевых метрик для оценки эффективности
- Оценка необходимых ресурсов и срока реализации
- Представление о базовой версии продукта
______________________________________________________________________________________________
Навыки голосового помощника “Олег”, новый скилл
Краткая постановка задачи: разработка нового функционала для чат-бота Tinkoff.ru
Описание: “Олег” – это чат-бот Tinkoff.ru, который помогает клиентам быстрее решить их вопросы, а так же может предложить им дополнительную функциональность интернет-банка и мобильного приложения: заказ билета в кино, бронь столика в ресторане. У чат-бота есть “скиллы” – например, заказ билета в кино. В рамках этого проекта предлагается выбрать и внедрить новый скилл для Олега.
В рамках проекта студенты освоят следующие профессиональные компетенции:
- Анализ рынка
- Анализ профиля потенциального клиента
- Основы B2C маркетинговых исследований
- Основы UX-тестирования и UX-метрик
- Представление о базовой версии продукта
- Оценка необходимых ресурсов и срока реализации
- Освоение методологий гибкой разработки “Agile”
- Основы A/B тестирования
- Основы дизайна интерфейсов
______________________________________________________________________________________________
Навыки голосового помощника “Олег”, небанковские ниши
Краткая постановка задачи: анализ небанковских ниш в рамках общения с голосовым помощником.
Описание: “Олег” – это чат-бот Tinkoff.ru, который помогает клиентам быстрее решить их вопросы, а так же может предложить им дополнительную функциональность интернет-банка и мобильного приложения: заказ билета в кино, бронь столика в ресторане. Есть наблюдение, что часть пользователей хотят пообщаться с Олегом вне его текущей области компетенций, например, просят рассказать его анекдот, развлечь их, предложить занятие на вечер. В рамках проекта нужно научить Олега быть для пользователей интереснее, то есть проанализировать, какие тематики важны для таких пользователей и оценить их приоритет. Предстоит исследовать частоту запросов с целью “пообщаться” и оценить целесообразность проекта, найти самые популярные запросы и продумать сценарии их обработки, запустить сценарии на тестовую выборку пользователей.
В рамках проекта студенты освоят следующие профессиональные компетенции:
- Анализ рынка
- Анализ профиля потенциального клиента
- Основы B2C маркетинговых исследований
- Основы UX-тестирования и UX-метрик
- Представление о базовой версии продукта
- Оценка необходимых ресурсов и срока реализации
- Освоение методологий гибкой разработки “Agile”
- Основы A/B тестирования
- Основы дизайна интерфейсов
- Владение языком программирования Python для решения задач анализа данных
- Введение в работу с данными с помощью SQL
______________________________________________________________________________________________
Робот-тренер
Краткая постановка задачи: проверка гипотезы, что в образовательном процессе по некоторым направлениям работы можно заменить учителя на робот.
Описание: WebOffice (weboffice.tinkoff.ru) – платформа виртуальных рабочих мест сотрудников, предназначенная для привлечения удаленных ресурсов с целью выполнения ими операционной работы, такой как продажи продуктов потенциальным клиентам, назначения встреч с представителями и другое. Вся работа декомпозируется на отдельные задания, у каждого задания есть четко сформулированная цель. Сотрудник из любой точки мира работает с этими заданиями и для достижения целей по ним выполняет простейшие действия, предписанные системой. Логика обработки заданий и стратегия коммуникаций с клиентами реализованы в системе. Для работы сотруднику нужен только современный браузер, гарнитура и стабильный интернет. Чтобы начать работать на платформе, оператор должен пройти обучение, и обучением его занимается другой человек. Есть идея, что можно заменить обучающего человека на робота, чем удешевить и ускорить обучение.
В рамках проекта студенты освоят следующие профессиональные компетенции:
- Изучение рынка на предмет аналогичных сервисов, и качество их работы с русским языком
- Изучение программы обучения операторов и ее декомпозиция на навыки, которые можно отдать роботу и учителю
- Построение экономической модели
- Оценка необходимых ресурсов и срок реализации
- Владение языком программирования Python для решения задач анализа данных
- Введение в работу с данными с помощью SQL
______________________________________________________________________________________________
Платформа для партнерских приложений
Краткая постановка задачи: проектирование платформы работы с партнерами для компаний в сегменте малого и среднего бизнеса.
Описание: предпринимателям удобно вести процессы по бизнесу в едином месте, без дублирования информации. Поэтому можно добавлять к существующим сервисам “Тинькофф бизнес” небанковские услуги. При этом есть много сервисов, которые востребованы на < 5% аудитории и разработках их собственными силами будет неоправданной. Есть идея спроектировать платформу для работы с партнерами, предоставляющих недостающие сервисы, и встроить их в личный кабинет предпринимателя Тинькофф Бизнес.
В рамках проекта студенты освоят следующие профессиональные компетенции:
- Изучение рынка на предмет аналогичных платформ и того, как они работают
- Формирование минимальной версии платформы
- Проведение клиентских исследований и понимание, со стороны какой потребности можно построить развитие продукта
- Оценка необходимых ресурсов и сроков реализации
- Владение языком программирования Python для решения задач анализа данных
- Введение в работу с данными с помощью SQL
______________________________________________________________________________________________
Автоматизация бизнеса
Краткая постановка задачи: проектирование платформы сервисов для автоматизации процессов компаний в сегменте малого и среднего бизнеса.
Описание: предпринимателям удобно вести процессы по бизнесу в едином месте, без дублирования информации. Поэтому можно добавлять к существующим сервисам “Тинькофф бизнес” небанковские услуги, например, отправки писем клиенту по факту передачи заказа в курьерскую службу, поздравление с днем рождения, отправка анкеты обратной связи и так далее. Можно разработать сервис автоматизации, чтобы соединить все существующие сервисы для бизнеса в экосистему и предпринимателям было бы удобно управлять всеми дополнительными услугами через единый интерфейс.
В рамках проекта студенты освоят следующие профессиональные компетенции:
- Анализ рынка на предмет конкурентов и того, как они работают
- Формирование минимальной версии платформы
- Проведение клиентских исследований и понимание, как проблема решается сейчас
- Оценка необходимых ресурсов и сроков реализации
- Владение языком программирования Python для решения задач анализа данных
- Введение в работу с данными с помощью SQL
tsql — набор задач запроса SQL-EX.ru # 32
Само упражнение ошибочное (IMO).
Вы должны ОБЪЕДИНЯТЬ две таблицы, Классы и Корабли, в зависимости от их класса, и вычислить средний вес на основе фактического количества кораблей.
Но есть несколько проблем:
- Существует класс корабля (Бисмарк), который отображается в таблице классов, но не в таблице кораблей. Видимо, вы должны принять это во внимание, даже если его не существует.Кто-то может спорить, как вы можете включить среднее количество реально существующих кораблей вместе с гипотетическим средним количеством кораблей, которых на самом деле не существует?
Если вы примете это во внимание, вы передадите первую БД, но не вторую. Почему? Из-за 2-й проблемы:
- Чтобы пройти полностью, вы также должны принять во внимание корабли с именами , которые появляются в таблице Outcomes, и присоединить их к классам с помощью resultss.names = classes.class. Почему? Без понятия.Бисмарк — единственное «имя» корабля в результатах, которое также является «именем» класса в классах. Зачем им присоединяться? Кто знает. Как ты должен это догадаться? Ну … Понятия не имею. Это не имеет никакого смысла.
Итак, две проблемы довольно нелогичны (ИМО), и хотя первая в некотором роде нормальна, вторая совершенно абсурдна.
Это, например, решило 1-ый db, но не удалось 2-ое:
--t1, t1_2, t1_3 создают таблицу классов со счетчиком no.кораблей. Любому кораблю, появляющемуся только в таблице классов, будет присвоено значение 1.
с t1 как
(Выберите класс, посчитайте (имя) 'c1' из групп кораблей по классам),
t1_2 как
(выберите "класс" корабля, 1 "c1" из результатов, в которых корабля нет (выберите класс из t1)),
t1_3 как
(выберите * из t1 union выберите * из t1_2),
t2 как
(выберите отдельные классы. класс, страну, 0,5 * диаметр * диаметр * диаметр ствола 'mw', c1 из классов слева присоединитесь к t1_3 на t1_3.class = classes.class)
выберите страну, приведите (сумма (mw * c1) / сумма (c1) как десятичное (10,2)) из группы t2 по стране
И это полностью решает:
с t1 как
(выберите страну, диаметр ствола, название из классов, корабли
где классы.class =hips.class
союз
выберите страну, канал ствола, название корабля из классов, результатов
где classes.class = resultss.ship)
выберите страну, отлейте (avg (0.5 * bore * bore * bore) как десятичное (10,2)) 'mw'
из группы t1 по странам
tsql — набор задач запроса SQL-EX.ru # 32
Само упражнение ошибочное (IMO).
Вы должны ОБЪЕДИНЯТЬ две таблицы, Классы и Корабли, в зависимости от их класса, и вычислить средний вес на основе фактического количества кораблей.
Но есть несколько проблем:
- Существует класс корабля (Бисмарк), который отображается в таблице классов, но не в таблице кораблей. Видимо, вы должны принять это во внимание, даже если его не существует. Кто-то может спорить, как вы можете включить среднее количество реально существующих кораблей вместе с гипотетическим средним количеством кораблей, которых на самом деле не существует?
Если вы примете это во внимание, вы передадите первую БД, но не вторую. Почему? Из-за 2-й проблемы:
- Чтобы пройти полностью, вы также должны принять во внимание корабли , имена , которые появляются в таблице Outcomes, и присоединить их к классам с результатами.имена = классы. класс. Почему? Без понятия. Бисмарк — единственное «имя» корабля в результатах, которое также является «именем» класса в классах. Зачем им присоединяться? Кто знает. Как ты должен это догадаться? Ну … Понятия не имею. Это не имеет никакого смысла.
Итак, две проблемы довольно нелогичны (ИМО), и хотя первая в некотором роде нормальна, вторая совершенно абсурдна.
Это, например, решило 1-ый db, но не удалось 2-ое:
--t1, t1_2, t1_3 создают таблицу классов со счетчиком no.кораблей. Любому кораблю, появляющемуся только в таблице классов, будет присвоено значение 1.
с t1 как
(Выберите класс, посчитайте (имя) 'c1' из групп кораблей по классам),
t1_2 как
(выберите "класс" корабля, 1 "c1" из результатов, в которых корабля нет (выберите класс из t1)),
t1_3 как
(выберите * из t1 union выберите * из t1_2),
t2 как
(выберите отдельные классы. класс, страну, 0,5 * диаметр * диаметр * диаметр ствола 'mw', c1 из классов слева присоединитесь к t1_3 на t1_3.class = classes.class)
выберите страну, приведите (сумма (mw * c1) / сумма (c1) как десятичное (10,2)) из группы t2 по стране
И это полностью решает:
с t1 как
(выберите страну, диаметр ствола, название из классов, корабли
где классы.class =hips.class
союз
выберите страну, канал ствола, название корабля из классов, результатов
где classes.class = resultss.ship)
выберите страну, отлейте (avg (0.5 * bore * bore * bore) как десятичное (10,2)) 'mw'
из группы t1 по странам
|
Практические навыки языка SQL Этот сайт поможет каждому получить или улучшить навыки в строительстве. Язык манипулирования данными SQL операторов. Чтобы тренироваться, вам придется построить себя
операторы SQL для поиска или изменения конкретных данных, необходимых в упражнениях.Если ваш запрос неверен, вы сможете увидеть строки, возвращенные правильным
запрос вместе с тем, который возвращается Вашим запросом. Кроме того, вы можете выполнять произвольные DML для доступных баз данных, установив опцию «Без проверки». Есть
пять уровней сложности (от 1 до 5), вы можете увидеть это во втором столбце
список упражнений. Предлагаем упражнения по извлечению данных (оператор SELECT, ) и
упражнения по изменению данных (инструкции INSERT, UPDATE, DELETE и MERGE ).О ваших успехах в решении упражнений свидетельствует рейтинг участников.
Это происходит в три этапа:
первое (первые 5 упражнений) выполняется без контроля времени для индивидуума
упражнение, второе (начинается с упражнения №6) контролирует время выполнения каждого
задача. На третьем этапе, который относится к оптимизирующему и начинается с упражнения № 139, требуется не только правильно решить упражнение, но и время выполнения запроса должно быть соизмеримо со временем выполнения авторского решения. ПРИМЕЧАНИЕ. Неправильно сформулированный запрос может вернуть «правильные» данные о текущем состоянии базы данных. По этой причине Вы не должны удивляться, если результаты неправильного запроса будут совпадение с результатами правильного запроса с Вашим запросом оценивается системой проверки как неверный. ПРИМЕЧАНИЕ: Ваш браузер должен поддерживать файлы cookie и Javascript, чтобы обеспечить правильное использование этого сайта. Если вы используете фильтр содержимого, он должен позволять открывать дочерние окна для просмотра страниц справки. СертификацияВаше успешное тестирование может быть подтверждено сертификатом «Специалист по языку манипулирования данными SQL». Мы поддерживаем качество нашего сертификата , периодически заменяя упражнения и меняя требования к сертификату. Подробнее о сертификации. Что дает вам сертификат? Используемый синтаксис SQLЗапросы пользователей выполняются SQL-сервером, что накладывает некоторые ограничения на синтаксис операторов SQL. Теперь мы используем Microsoft SQL Server 2019 (15.0) на этапах рейтинга, и MariaDB-10.4 (совместимый с MySQL 8) , PostgreSQL 12.3 и Oracle Database 11g дополнительно на этапе обучения.Вот почему вы должны следовать синтаксис этих реализаций при построении запросов. Следует отметить, что синтаксис SQL, реализованный в Microsoft SQL Server, близок к стандарту SQL-92 . Но есть некоторые различия, среди них отсутствие NATURAL JOIN таблиц. Предоставляемая справка по языку манипулирования данными SQL проводится в соответствии с со стандартом SQL-92 и содержит информацию, необходимую для решения упражнений. Там же можно найти особенности используемой реализации (SQL Server 2005). 10 лучших результатов |
Вопрос SQL-запрос верен с одной таблицей данных, но неверен с другой
Я решал задачу 88 на sql-ex.ru, но результат для второй проверочной таблицы оказался неверным. Ниже представлена схема таблицы данных:
Компания (ID_comp, наименование)
Поездка (trip_no, id_comp, plane, town_from, town_to, time_out, time_in)
Пассажир (ID_psg, имя)
Pass_in_trip (номер_поездки, дата, ID_psg, место)
Проблема:
Среди клиентов, которые используют только одну компанию, найдите разных пассажиров, которые летают чаще других.Набор результатов: имя пассажира, количество рейсов и название компании.
Мой запрос к проблеме:
выберите отдельную компанию t1.name, t.cnt, t4.name
из (
выберите первую 1-ю позицию со связями id_psg, count (t1.trip_no) cnt
от pass_in_trip t1
присоединиться к поездке t2 на t1.trip_no = t2.trip_no
группа по id_psg
имеющий счетчик (отличный id_comp) = 1
упорядочить по количеству (t1.trip_no) desc
) т
присоединиться к пассажиру t1 по t.id_psg = t1.id_psg
присоединиться к pass_in_trip t2 на t.id_psg = t2.id_psg
присоединиться к поездке t3 на t2.trip_no = t3.trip_no
присоединяйтесь к компании t4 на t3.id_comp = t4.id_comp
После отправки запроса я получил следующее сообщение:
Неправильно. Ваш запрос вернул правильный набор данных в первой (доступной) базе данных, но он вернул неправильный набор данных во второй проверочной базе данных. * Неверное количество записей (меньше на 1)
Желаемый результат:
наименование кол-во компания
------------------------------------
Майкл Кейн | 4 | British_AW
Мулла Омар | 4 | British_AW
Я получил результат после отправки моего запроса, но я все еще получаю сообщение «Неверно», на котором я застрял.Я не знаю точно, почему мой запрос не дал правильный ответ для второй таблицы данных. Может ли кто-нибудь взглянуть на проблему и запрос и сообщить мне, что не так с моим запросом? Спасибо!
Ресурсы Microsoft SQL Server | Комплект SQL Server
- Блоги
- Security (большое спасибо Трою Ханту)
- Бесплатное видео
- бесплатных подкастов базы данных
- курсов
- Обратная совместимость с SQL Server
- Карта представлений системы SQL Server
- Microsoft Руководство по устранению неполадок и безопасности
- отзывов об SQL Server
- Социальные группы, форумы и группы SQL Server для обмена сообщениями
- проектов с открытым исходным кодом
- Brent Ozar Пакет первого ответчика SQL Server (Github)
- Решение для обслуживания SQL Server Ola Hallengren (от Ola Hallengren) (Github)
- Выходные данные сценария восстановления в режиме ожидания для решения для обслуживания Ola Hallengren (автор jzagelbaum) (Github)
- SqlQueryStress — симулятор нагрузки SQL-запроса для SQL Server (Адам Мачаник и Эрик Эйльсков Дженсен)
- WorkloadTools — набор инструментов для сбора, анализа и воспроизведения рабочих нагрузок SQL Server, локально и в облаке (от Джанлуки Сартори)
- Статистический анализатор (Richie Rump) (Github)
- Генератор SQL (Ричи Рамп) (Github)
- Библиотека скриптов индексов Columnstore (Нико Нойгебауэр) (Github)
- MOSL — Библиотека сценариев, оптимизированная для памяти (Нико Нойгебауэр) (Github)
- sp_SrvPermissions — хранимая процедура для списка разрешений сервера (Кеннет Фишер)
- sp_DBPermissions — хранимая процедура для списка разрешений базы данных (Кеннет Фишер)
- stpChecklist_Seguranca — хранимая процедура с более чем 70 элементами безопасности для проверки вашей базы данных SQL Server (от Dirceu Resende)
- mssql-docker — Официальный репозиторий Microsoft для SQL Server в ресурсах Docker (от Microsoft) (Github)
- SQLCover — инструмент покрытия кода TSQL для SQL Server 2008+ (автор Эд Эллиотт) (Github)
- tSQLt — среда тестирования для Microsoft SQL Server (Github)
- SQLCop — тесты tSQLt для выявления потенциальных проблем в вашей базе данных (Red Gate)
- Алгоритмы сопоставления строк T-SQL SimMetrics (Github)
- Резервное копирование хранилища BLOB-объектов Azure (Рэндольф Уэст) (Github)
- StackExchange.DataExplorer — бесплатный инструмент для выполнения SQL-запросов к базам данных Stack Exchange (Github)
- Шаблоны машинного обучения со службами SQL Server 2016 R (Шери Гилли) (Github)
- Оптимизация кампании — прогнозирование того, как и когда связываться с потенциальными клиентами, реализованная в службах SQL Server 2016 R (Шери Гилли) (Github)
- SQL Server Performance Dashboards — содержит все отчеты на основе Microsoft, пользовательские отчеты, измененные отчеты и настройку TSQL (by Arun Sirpal).
- tigertoolbox — Репозиторий для команды Tiger для «как есть» решений и инструментов / скриптов, которые команда публикует для SQL Server (Github)
- SQL Server FineBuild — упрощает установку и настройку SQL Server на основе передового опыта для всех (Брайан Дэвис).
- Pssdiag / Sqldiag Manager — это графический интерфейс, который предоставляет возможности настройки для сбора данных для SQL Server с использованием механизма сборщика sqldiag (Github)
- sql-xplat-cli — репозиторий для новых кроссплатформенных инструментов командной строки SQL (от Microsoft)
- dbfs — инструмент для монтирования DMV MS SQL Server с помощью FUSE (от Microsoft)
- Opserver — система мониторинга Stack Exchange (посредством Stack Exchange)
- Bosum — Платформа оповещения временных рядов (посредством Stack Exchange)
- BismNormalizer — это бесплатный инструмент с открытым исходным кодом для управления табличными моделями Microsoft Analysis Services (автор: Christian Wade)
- DbSharp — это генератор DAL (от Higty)
- YourSqlDba — решение для обслуживания базы данных в виде единого сценария SQL (Морис Пельчат)
- OpenQueryStore — набор скриптов, которые добавляют функциональность Query Store в экземпляр до SQL Server 2016 Instance .
- ssis-dashboard — панель инструментов HTML5 SQL Server Integration Services (автор: Davide Mauri)
- SQL Server Regex — запускать регулярные выражения в SQL Server (от Dev Nambi)
- Binary Formatter — форматирование двоичных файлов (например,.г. DLL / CER / PVK) в шестнадцатеричную строку байтов для сценария SQL (Соломон Рутцки / Sql Quantum Leap)
- ExtendedTSQLCollector — настраиваемые типы сборщиков для расширения и упрощения функций, предлагаемых встроенным сборщиком данных SQL Server, и чтения данных из расширенных событий и / или запросов (от Джанлуки Сартори)
- XESmartTarget — настраиваемая цель для расширенных событий SQL Server (автор — Джанлука Сартори)
- Schemazen — сценарий и быстрое создание объектов SQL Server (автор Seth Reno)
- soddi — импортер дампа данных StackOverflow (команда Брента Озара)
- Автоматически исправлять большое количество VLF в SQL Server 2012+ (Трейси Боггиано)
- splittinglargefiles — процесс разделения больших файлов в файловой группе, которая выросла из-под контроля.(Трейси Боггиано)
- olamaintconfigtables — это таблицы и задания, которые можно использовать для запуска сценариев Ola в качестве заданий T-SQL и запуска в Linux (от Tracy Boggiano).
- SQL Undercover Toolbox — набор классных и полезных инструментов, процедур и скриптов для требовательных администраторов баз данных (от SQL Undercover)
- dba-database — база данных, содержащая вспомогательный код администратора базы данных и программное обеспечение с открытым исходным кодом (Энди Мэллон)
- SQLServerSpaceAnalysis PowerBI (автор — Яна Саттайнатан)
- Бот телеграммы SQL Server
- ZabbixMSSQL — Шаблон и инструменты Zabbix для Microsoft SQL Server (Сергей Колесник)
- AGLatency — анализ задержки перемещения блока журнала AG между репликами и создание соответствующего отчета (Саймон Су)
- SQLSetupTools — FixMissingMSI, обозреватель продуктов, средство просмотра реестра SQL (Саймон Су)
- tsql-parser — Библиотека, написанная на C # для анализа сценариев T-SQL SQL Server в.Сеть (Брюс Данвидди)
- tsqllint — Настраиваемый линтинг для TSQL (по tsqllint)
- Rezoom.SQL — F # ORM для баз данных SQL (Роберт Пил)
- SQLtoExcel — экспортирует вывод одного или нескольких запросов сценария TSQL в Excel (Дэйв Мейсон)
- Службы Analysis Services — образцы служб Analysis Services и проекты сообщества (Microsoft)
- ms-sql-express-replication — библиотека репликации, написанная для MS SQL Sever Express edition (Ян Халама)
- построитель SQL-запросов, написанный на C #
- php-crud-api — Однофайловый скрипт PHP, который добавляет REST API в базу данных SQL (автор Мауриц ван дер Ши)
- sql2xls — Инструмент экспорта SQL в Excel (Рэндольф Уэст)
- azureblobstoragesync — резервное копирование любой версии локальной базы данных SQL Server в общий сетевой ресурс или хранилище BLOB-объектов Azure и ее восстановление (Рэндольф Уэст)
- sql_profiler — Microsoft SQL-Server Profiler (командная строка) для Linux / Mac / Windows (автор Стефан Штайгер)
- dbops — модуль Powershell, обеспечивающий непрерывное развертывание базы данных в любом масштабе (Кирилл Кравцов)
- TabularTranslator — позволяет создавать переводы для файла перевода, созданного SSDT для табличных моделей с уровнем совместимости 1200 и выше (by Kjonge)
- TSqlStrong — средство проверки типов T-Sql, которое обнаруживает неправильные соединения, возможно, операции с нулевым значением, нарушения ограничений проверки перечисления, неправильное использование временной таблицы на сайте вызова и многое другое (от Джона Судера)
- SQL Power Doc — это набор сценариев и модулей Windows PowerShell, которые обнаруживают, документируют и диагностируют экземпляры SQL Server и их базовую конфигурацию ОС Windows и компьютера (автор — Кендал Ван Дайк)
- rsqlserver — драйвер интерфейса базы данных драйверов (DBI) сервера Sql для R
- sp_SizeOptimiser — хранимая процедура, которая рекомендует меры по экономии места и коррекции типа данных на основе схем базы данных SQL Server (автор Джон Макколл)
- language-extension-sqlserver — проект языковых расширений SQL Server (от Microsoft)
- AzureRMR — пакет R для взаимодействия с Azure Resource Manager (от Microsoft)
- EntityFramework.Утилиты — предоставляет расширения для EntityFramework, которые не существуют из коробки, такие как удаление и обновление по запросу и массовые вставки (от Микаэля Элиассона)
- EFCore.BulkExtensions — Базовые пакетные расширения Entity Framework для операций вставки, обновления, удаления и чтения (CRUD) на SQL Server и SQLite (Борис Джурджевич)
- Инструмент анализа журналов производительности (PAL) (Клинт Хаффман)
- SQL-Server-Permissions-Manager — набор скриптов для управления логинами и разрешениями в базах данных SQL Server (от Эрика Кобба)
- AwesomeSQLServer — сборник запросов и документации SQL Server для устранения узкого места вашего SQL Server (с помощью SqlAdmin)
- databases_scripts — Полезные скрипты SQL Server (Дмитрий Гавриков)
- sp_pressure_detector — хранимая процедура для быстрого определения нагрузки на ЦП и память на SQL Server (Эрик Дарлинг)
- Другое
Ресурсы и блоггеры BIML
BIML — язык разметки бизнес-аналитики
Ресурсы BIML
Блогеры BIML
PowerShell и SQL Server
Код формата TSQL
Создание тестовых данных SQL Server
Бесплатный SQL Server и электронные книги
SQL Server:
R:
Не могу понять, что принесло результат SQL-запроса (FULL JOIN).Почему так много записей и нигде нет NULL? — code-flow.club
Привет.Есть такая задача:
Предполагая, что приход и поток денег в каждом пункте приема регистрируется один раз в сутки [т.е. первичный ключ (точка, дата)], чтобы написать запрос с выводом (элемент, дата, приход, поток). Использовать таблицы Income_o и Outcome_o.
Схема базы данных:
Задача, которую мне удалось решить (эта проблема с sql-ex.ru), решение писать не надо. Но пока набросал такой код:
SELECT Income_o.point, Income_o.date, inc, out FROM Income_o FULL JOIN Outcome_o ON Income_o.point = Outcome_o.point AND Income_o.date = Income_o.date
В результате он принес в два раза больше записей, чем необходимо. И нигде не было NULL. Я не могу понять, почему это произошло? Пожалуйста, помогите мне (мне нужно лучше понять, как это работает ПРИСОЕДИНЯЙТЕСЬ).
Результат моего кода
1 2001-03-22 00: 00: 00.000 15000.0000 1221.0000 1 2001-03-22 00: 00: 00.000 15000.0000 15348.0000 1 2001-03-22 00:00:00.000 15000.0000 2004.0000 1 2001-03-22 00: 00: 00.000 15000.0000 2075.0000 1 2001-03-22 00: 00: 00.000 15000.0000 2530.0000 1 2001-03-22 00: 00: 00.000 15000.0000 3110.0000 1 2001-03-22 00: 00: 00.000 15000.0000 3195.0400 1 2001-03-22 00: 00: 00.000 15000.0000 3663.0000 1 2001-03-22 00: 00: 00.000 15000.0000 4490.0000 1 2001-03-23 00: 00: 00.000 15000.0000 1221.0000 1 2001-03-23 00: 00: 00.000 15000.0000 15348.0000 1 2001-03-23 00: 00: 00.000 15000.0000 2004.0000 1 2001-03-23 00: 00: 00.000 15000.0000 2075.0000 1 2001-03-23 00:00:00.000 15000.0000 2530.0000 1 2001-03-23 00: 00: 00.000 15000.0000 3110.0000 1 2001-03-23 00: 00: 00.000 15000.0000 3195.0400 1 2001-03-23 00: 00: 00.000 15000.0000 3663.0000 1 2001-03-23 00: 00: 00.000 15000.0000 4490.0000 1 2001-03-24 00: 00: 00.000 3400.0000 1221.0000 1 2001-03-24 00: 00: 00.000 3400.0000 15348.0000 1 2001-03-24 00: 00: 00.000 3400.0000 2004.0000 1 2001-03-24 00: 00: 00.000 3400.0000 2075.0000 1 2001-03-24 00: 00: 00.000 3400.0000 2530.0000 1 2001-03-24 00: 00: 00.000 3400.0000 3110.0000 1 2001-03-24 00:00:00.000 3400.0000 3195.0400 1 2001-03-24 00: 00: 00.000 3400.0000 3663.0000 1 2001-03-24 00: 00: 00.000 3400.0000 4490.0000 1 2001-04-13 00: 00: 00.000 5000.0000 1221.0000 1 2001-04-13 00: 00: 00.000 5000.0000 15348.0000 1 2001-04-13 00: 00: 00.000 5000.0000 2004.0000 1 2001-04-13 00: 00: 00.000 5000.0000 2075.0000 1 2001-04-13 00: 00: 00.000 5000.0000 2530.0000 1 2001-04-13 00: 00: 00.000 5000.0000 3110.0000 1 2001-04-13 00: 00: 00.000 5000.0000 3195.0400 1 2001-04-13 00: 00: 00.000 5000.0000 3663.0000 1 2001-04-13 00:00:00.000 5000.0000 4490.0000 1 2001-05-11 00: 00: 00.000 4500.0000 1221.0000 1 2001-05-11 00: 00: 00.000 4500.0000 15348.0000 1 2001-05-11 00: 00: 00.000 4500.0000 2004.0000 1 2001-05-11 00: 00: 00.000 4500.0000 2075.0000 1 2001-05-11 00: 00: 00.000 4500.0000 2530.0000 1 2001-05-11 00: 00: 00.000 4500.0000 3110.0000 1 2001-05-11 00: 00: 00.000 4500.0000 3195.0400 1 2001-05-11 00: 00: 00.000 4500.0000 3663.0000 1 2001-05-11 00: 00: 00.000 4500.0000 4490.0000 2 2001-03-22 00: 00: 00.000 10000.0000 1440.0000 2 2001-03-22 00:00:00.000 10000.0000 2040.0000 2 2001-03-22 00: 00: 00.000 10000.0000 7848.0000 2 2001-03-24 00: 00: 00.000 1500.0000 1440.0000 2 2001-03-24 00: 00: 00.000 1500.0000 2040.0000 2 2001-03-24 00: 00: 00.000 1500.0000 7848.0000 3 2001-09-13 00: 00: 00.000 11500.0000 1500.0000 3 2001-09-13 00: 00: 00.000 11500.0000 2150.0000 3 2001-09-13 00: 00: 00.000 11500.0000 2300.0000 3 2001-10-02 00: 00: 00.000 18000.0000 1500.0000 3 2001-10-02 00: 00: 00.000 18000.0000 2150.0000 3 2001-10-02 00: 00: 00.000 18000.0000 2300.0000
Адаптивная гипермедийная система, применяемая для решения математических задач
Модельные курсы.С течением времени люди разработали различные методологии
, чтобы сделать этот процесс эффективным. С появлением новых технологий
открылась новая область исследований благодаря модернистской среде обучения
и методам обучения, которые используют преимущества огромного потенциала этих электронных ресурсов
[Macias, 2007]. В этом контексте адаптивность
компьютерной системы сочетается с использованием технологии гипермедиа, что придает системе
большую гибкость и интерактивность.
Недавние предложения по учебной программе по математике рекомендуют, чтобы обучение
было организовано вокруг решения задач [NCTM, 2000]. Таким образом, для учащихся
важно разработать различные ресурсы и стратегии, чтобы обдумывать и решать различные типы задач
. Необходимо создать среду обучения, в которой учащиеся
имели возможность проверить свои знания, закрепить свое понимание математического содержания
и укрепить свои навыки решения проблем.Изучение математики
, согласно Шонфельду [Schoenfeld, 1998], представляет собой непрерывный процесс
, который поощряется в контексте решения проблем, в котором учащиеся имеют возможность
развивать способы мышления, соответствующие задачам дисциплина
.
Механизм обучения для процессов обучения в интерактивных системах основан на
человеческом умственном процессе приобретения знаний, в котором
усвоение и запоминание информации соответствуют ассоциативным процессам [Boticario, 2001].
Есть много авторов, которые разрабатывают стратегии по продвижению и стимулированию обучения
механизмов в области математики. Например, Шенфельд ([Schoenfeld,
1985], [Schoenfeld, 1985b]), в частности, разработал серию важных стратегий решения проблем
, консолидируя создание нового метода в
процессах преподавания и обучения. математики: «Обучение математическому мышлению
означает (а) развитие математической точки зрения — оценку процессов
математизации и абстракции и склонность к их применению, и (б)
развитие компетенции с инструментами торговли и использования этих инструментов в службе
цели понимания структуры — математического осмысления »[Schoenfeld,
1992].
SHARPO, испанская аббревиатура от «Adaptive Hypermedia System Applied to
Online Problem Solving» — это веб-приложение, которое объединяет нормы проектирования адаптивной гипермедийной системы
. Он включает в себя функции управления материалами
и мониторинга обучения студентов, что позволяет проводить онлайн-обучение. С помощью этого инструмента
учащиеся могут укрепить свои знания в области математики, используя Интернет
; он также позволяет реализовать новые стратегии обучения, основанные на обучении e-
.Основой учебного плана, применяемого к математическим задачам, был
, установленный в предыдущем исследовании [Gómez, 2003], а разработка инструмента
, представленная здесь, относится к области математики для студентов довузовского уровня
или студенты на первых курсах математического факультета вуза.
Этот документ начинается с этого краткого введения, за которым следует описание архитектуры и функциональных возможностей приложения
, а также поддержки пользователей в соответствующих аспектах интерфейса
.Разработанное веб-приложение обширно, но в
этой статьи мы выделим два фундаментальных аспекта его функциональности: адаптивный алгоритм
, который поддерживает механизм приложения, который рассматривается в третьей части;
и модуль для редактирования и просмотра математической записи в веб-среде,
3100
Гил А.