Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Новости сайта "Упражнения по SQL" (http://www.sql-ex.ru) 464


Новости сайта "Упражнения по SQL (http://www.sql-ex.ru)"

Выпуск 464 от 17 августа 2013 г.

Новым посетителям сайта

SQL Exercises Сайт посвящен изучению языка, с помощью которого осуществляется взаимодействие с реляционными (и не только) СУБД. Суть обучения состоит в выполнении заданий на написание запросов к учебным базам данных; при этом система контролирует правильность выполнения заданий. В настоящее время реализованы все операторы подъязыка манипуляции данными (DML), которые включают в себя оператор извлечения данных SELECT, а также операторы модификации данных - INSERT, DELETE и UPDATE.

Мы надеемся, что справочного материала сайта окажется достаточно для самостоятельного обучения. Кроме того, свои решения вы можете обсудить на форуме сайта. Опытных же специалистов приглашаем проверить (продемонстрировать) свое мастерство и принять участие в соревновании, обеспечиваемом рейтинговой системой учета времени выполнения заданий. Фактически, рейтинг ведется на втором этапе тестирования, который начинается сейчас после решения 21-й задачи первого этапа. При подсчете рейтинга каждого участника отбрасывается один самый худший показатель среди всех решенных им упражнений.

Демонстрация плана выполнения запроса и сравнительная оценка эффективности решений поможет вам освоить принципы оптимизации запросов, которые пригодятся на третьем рейтинговом этапе, который начинается после 138 задачи.

Имеется возможность получить сертификат по SQL DML при выполнении определенного количества заданий.


Новости сайта

§ Дмитрий Гринкевич усилил проверку задачи 195.

§ На третий этап под номером 199 выставлена новая задача от Baser (сложность 3 балла).

§ Самые популярные темы недели на форуме

Топик		Сообщений
75 (Learn)	10
147 (SELECT)	5
182 (SELECT)	5
7 (Learn)	3
16 (Learn)	3

 

§ Авторы недели на форуме

Автор		Число сообщений
smersh			9
Andrey Chernyavskiy	7
kipling			4
Дмитрий Гринкевич  	4
Boris Pankin		4

 

§ Объявленные конкурсы по оптимизации запросов

Задача	Дата		Автор
147	2012-02-23	$erges
159	2012-07-25	anddros
170	2011-07-15	qwrqwr
182	2012-02-16	Baser
192	2012-03-03	Baser
259	2012-07-23	anddros

 

Дополнительные неоптимизационные конкурсы

Задача	Дата		Автор/Организатор конкурса
71	2010-12-26	anddros (завершен).
88	2012-07-12	crescent/Pegoopik
91	2012-05-31	smog/$erges
121	2012-07-06	ZrenBy/anddros
153	2010-09-21	Ozzy

 

§ Изменения среди лидеров (решенные за неделю задачи третьего этапа):
Смена лидера - Baser!
6. _dimon_ (163, 181)
15. smog (146, 150)
18. Дмитрий Гринкевич (182)
78. SergM (142)

§ К третьему этапу подошли:
97. azkaban (задач 149, время 1368.880)

§ Продвижение ближайших претендентов на попадание в ТОР 100:
137. pal- (118, 5.869)
166. YuriPetrov (108, 23.349)
185. .Wizard (105, 779.375)
188. Oct (107, 26.312)
226. Merdoc (97, 55.474)

§ На этой неделе сертифицированы:
alexta78 (A13129793) [BK] - г. Кобрин, Беларусь

§ Число подписчиков - 3656

Число упражнений:
   на обучающем этапе - 109;
   на рейтинговых этапах - 198;
   DML - 24
   головоломки - 9 (отрицательные номера) + 9 (3 этап).

Число участников рейтинга - 11265

Число участников второго этапа - 2532

Число участников третьего этапа - 96

На обучающем этапе - 85796

Сертифицировано на сайте - 628

Лучшие результаты (ТОР 20)

No Person Number of
Sel_ex
Last_Sel Number of
DML_ex
Scores Days Days_2 Days_3 S_3 LastSolved LastVisit
1Бежаев А.Ю. (Baser)1217198245141200151.715132.9941592013-08-142013-08-16
2Курочкин П.А. (qwrqwr)1217198245141348218.605146.9171592013-07-202013-08-02
3Креславский О.М. (Arcan)1217198245142361215.064160.8031592013-07-202013-08-16
4Карасёва Н.В. (vlksm)1217303245142624212.548167.6791592013-07-202013-08-15
5Сальников С.А. ($erges)121313524506195214.82211.9891512013-07-012013-08-16
6Филиппкин Д.В. (_dimon_)6213163245001668167.525103.7111452013-08-152013-08-16
7>Boiko D. (Angellore)62121982449821972890.2131428.2941432013-08-162013-08-16
8Яцук А.А. (Faust_zp)1200255244811985144.272108.8401352012-07-122012-07-30
9Кузнецов В.С. (herrRo)1185104234421170481.38873.3351222012-02-082013-06-18
10Дроздков А.Н. (anddros)519519824451188012.47211.0871052013-07-222013-08-13
11Дубинский А.В. (_yizraor)1185122244381088718.8041122.9071022012-11-052012-11-25
12Шиндин А.В. (AlShin)116125223396928408.897777.457992011-05-052011-05-21
13Тарасов Д.Б. (Gavrila)917832234182428151.46299.710952012-04-232012-05-25
14Орлов М.В. (Eagleoff)9165-323396952138.545106.466922011-11-102013-08-09
15Кукушкин С.А. (smog)1518615024416856252.787432.778822013-08-132013-08-16
16Зотов П.Г. (Ozzy)116313233891412213.968187.364812012-02-052013-08-16
17Держальцев В.А. (MadVet)3151100223682073143.64299.698812010-12-292011-09-26
18Гринкевич Д.Л. (Дмитрий Гринкевич)1818318224403673126.761258.603722013-08-142013-08-16
19Агапов В. (KERBEROS)117525324408240935.65327.703692013-04-022013-04-05
20Калинин К.А. (kalinin_k)161681692338439927.21536.659602012-06-302013-08-09

Лучшие результаты за неделю

No surname n_sel sel_all sel_scores dml_scores scores rating last_visit
1jprzygoda01 (jprzygoda)1717223759147115 Aug 2013
2Борисенко И.Н. (Igor.N.B.)108119254440715 Aug 2013
3>Поляков В.М. (rock_4)1415161632163316 Aug 2013
4>Movlyanov A.P. (Oct)111072602618816 Aug 2013
5Талан А.П. (alexta78)14752602642616 Aug 2013
6>Плужник (c0unt)174125025155216 Aug 2013
7>Масляев В.С. (Velmont)1011131225200116 Aug 2013
8Li L. (liliangc)0
01919364116 Aug 2013
9Балунов М.А. (Имбокофе)11631801855815 Aug 2013
10Михайлов С.И. (Serg Mihailov)1111617378114 Aug 2013
11Samborskyi D. (Zver_)0
01717383616 Aug 2013
12Borodin (Sin Bahamut)0
01717383716 Aug 2013
13q Q.Q. (bugnhunter)11551601698512 Aug 2013
14Мищук С.И. (ustas2)5247815155416 Aug 2013
15>Бардаков В.Б. (Merdoc)6971401422616 Aug 2013
16>Летов М. (mikel)9531401465616 Aug 2013
17Дубей И.А. (AnonimusNew)3484101475416 Aug 2013
18>Дёмин А. (Дёма)3341014402016 Aug 2013
19>Яковлев Ю.В. (Яковлев Юрий)84913013115816 Aug 2013
20Радченко А.С. (d3w)6441201279416 Aug 2013

Изучаем SQL

Постраничная разбивка записей (пейджинг) в SQL Server 2012

Моисеенко С.И.

Новые возможности стандарта, которые были реализованы в SQL Server 2012, делают разбивку на страницы очень простой операцией. Речь идет о новых необязательных конструкциях в предложении ORDER BY, а именно, OFFSET и FETCH. C их помощью можно указать сколько строк из результата запроса возвращать (FETCH) клиенту и начиная с какой строки (OFFSET) это делать.

Теперь расширенный синтаксис предложения ORDER BY имеет вид:

    ORDER BY <выражение>
        [ ASC | DESC ]
        [ ,...n ]
    [
    OFFSET <целочисленное_выражение_1> { ROW | ROWS }
    [FETCH { FIRST | NEXT } <целочисленное_выражение_2> { ROW | ROWS } ONLY]
    ]

FIRST и NEXT являются синонимами, как и ROW с ROWS, т.е. можно использовать любой из двух вариантов.

целочисленное_выражение_2 определяет число возвращаемых строк, а целочисленное_выражение_1 - количество строк от начала отсортированного набора, которое следует пропустить перед выводом. Если предложение FETCH отсутствует, то выводиться будут все строки, начиная с целочисленное_выражение_1 + 1.

С учетом новых возможностей процедуру постраничного вывода строк, которая была рассмотрена выше, можно реализовать совсем просто:

    CREATE PROC paging
      @n int =2 -- число записей на страницу, по умолчанию 2
    , @p int =1 -- номер страницы, по умолчанию - первая
    AS
    SELECT * FROM Laptop
    ORDER BY price DESC OFFSET @n*(@p-1) ROWS FETCH NEXT @n ROWS ONLY;

Заметим, что стандартный синтаксис предложения ORDER BY поддерживает также PostgreSQL.

Полезная информация

§ В настоящее время для решения упражнений на сайте используются следующие СУБД: SQL Server 2012 Express, Oracle 11g Express Edition, MySQL 5, PostgreSQL 9.

§ Группа SQL Exercises на LinkedIn.com. Присоединяйтесь!

§ Приглашаем вас посетить Интерактивный учебник по SQL.
   Ресурс позиционируется как "справочное обеспечение" для сайта SQL-EX.RU, но может использоваться и независимо от него.

§ Онлайновый выпуск рассылки можно почитать на сайте.

§ Книги и статьи по SQL.

§ Хотите поддержать проект? Вот инструкция по применению.

Контакты

По вопросам, связанным с функционированием сайта, обращайтесь к администратору сайта - Олегу В.Лысенко oleg17l[@]gmail.com.
C проблемами при решении упражнений, предложениями и идеями вы можете обращаться к Сергею И.Моисеенко msi77[@]yandex.ru. Вы также можете предложить свои задачи для публикации на сайте.

Подписка Subscribe.Ru
Новости сайта "Упражнения по SQL"

В избранное