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

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


Информационный Канал Subscribe.Ru

Новости сайта "Упражнения по SQL (http://www.sql-ex.ru)" Выпуск 29 (2 апреля 2005 г.)

http://www.sql-ex.ru

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

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

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

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


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

§ Сайт прошел во второй тур конкурса сайтов на ИКТ портале:http://www.ict.edu.ru/konkurs/index.php?a=conc&c=sendForm&r=concRes&d=mod.

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

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

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

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

No Person Number of
Sel_ex
Last_Sel Number of
DML_ex
Scores Days Days_2 LastSolved LastVisit
1 Колосов А.С. (KAS) 137 137 20 311 25 3.441 11 Mar 2005 29 Mar 2005
2 Кувалкин К.С. (Cyrilus) 137 137 20 311 102 4.896 06 Mar 2005 01 Apr 2005
3 Мельникова И.А. (Iris_m) 137 137 20 311 324 89.880 01 Apr 2005 01 Apr 2005
4 Зверев Д.Л. (dimzv) 136 60 20 307 513 2.428 31 Mar 2005 31 Mar 2005
5 Сныткин В.Л. (Ded I) 136 136 20 307 202 7.445 23 Mar 2005 01 Apr 2005
6 Валуев Д.И. (Fiolent) 136 136 20 307 556 19.425 01 Apr 2005 02 Apr 2005
7 Hakobyan H.H. (hamlet) 136 136 20 307 161 37.812 09 Mar 2005 29 Mar 2005
8 Галиаскаров Э.Г. (Galogen) 136 136 20 307 109 52.933 11 Mar 2005 01 Apr 2005
9 Шипунов И. (IAS) 136 136 20 307 265 82.049 05 Mar 2005 31 Mar 2005
10 Иткин И.Л. (joseph_itkin) 135 136 20 304 375 2.853 07 Mar 2005 23 Mar 2005
11 Spirin (spirin) 134 136 19 301 158 13.467 21 Jan 2005 24 Jan 2005
12 Леденев С.А. (Shurgenz) 132 136 19 299 146 8.298 11 Jan 2005 25 Mar 2005
13 Михайлов В.Г. (mslava) 135 136 17 298 648 10.512 25 Mar 2005 25 Mar 2005
14 Рахманов И.Е. (bloom) 128 128 20 292 103 11.073 27 Mar 2005 27 Mar 2005
15 Пятница О.А. (Robin) 128 128 20 292 754 74.640 19 Mar 2005 20 Mar 2005
16 Gershovich (VIG) 121 121 20 277 732 8.218 13 Mar 2005 02 Apr 2005
17 Якутин Н.В. (ZrenBy) 132 136 6 275 511 3.991 14 Sep 2004 18 Jan 2005
18 Тортумашев Е.А. (Johnny) 120 120 20 274 167 17.343 28 Mar 2005 28 Mar 2005
19 Рассказов А. (ra) 120 121 19 274 70 29.764 28 Jan 2005 25 Feb 2005
20 Губарь Д.К. (DEathkNIghtS) 120 124 17 272 23 1.046 03 Nov 2004

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

No surname n_sel sel_all sel_scores dml_scores scores rating last_visit
1 Панченко Ф.А. (zlokr) 50 50 81 23 104 437 31 Mar 2005
2 >Ивасюк Я. (striker) 40 50 72 17 89 411 02 Apr 2005
3 >Liman A. (@rtem) 39 49 60 26 86 424 02 Apr 2005
4 Загар В. (bulin) 36 36 64 9 73 558 30 Mar 2005
5 Титов Д.В. (Deonisy) 25 59 47 20 67 278 02 Apr 2005
6 Олейник Ю. (Юля) 35 35 62 5 67 590 01 Apr 2005
7 Герасимов А.М. (Vobler) 40 40 65 0 65 550 29 Mar 2005
8 Бобылев А.П. (Артём) 34 34 59 0 59 632 31 Mar 2005
9 Моисеев А.С. (Moiseeff) 34 34 59 0 59 633 02 Apr 2005
10 Игнатьева Е.А. (welen) 32 32 53 0 53 698 01 Apr 2005
11 >w (ds_kt) 23 23 34 19 53 1004 02 Apr 2005
12 J (July) 36 36 50 1 51 725 29 Mar 2005
13 Gontovoy (noname) 22 101 45 0 45 45 01 Apr 2005
14 Пекарь В. (pv_d) 33 37 45 0 45 758 01 Apr 2005
15 altimer (altimerr) 30 30 45 0 45 823 01 Apr 2005
16 Ерофеев Е.Ф. (Zhekaus) 26 26 43 0 43 837 02 Apr 2005
17 Томашпольский Д.Ф. (Лед) 25 25 40 1 41 889 02 Apr 2005
18 Чернышёв А.В. (Alexander) 22 23 31 8 39 1082 01 Apr 2005
19 Исмагулов К.Т. (Кайрат) 17 40 38 0 38 501 01 Apr 2005
20 Хохлова Т.Г. (Татьяна) 19 36 36 0 36 568 01 Apr 2005
21 Назаренко И.И. (iin) 20 46 31 0 31 489 01 Apr 2005
22 Bes (Bes) 22 22 31 0 31 1120 01 Apr 2005
23 Андриященко А.В. (a_av_sub) 20 20 27 3 30 1226 01 Apr 2005

Изучаем SQL

Функции работы со строками в SQL SERVER 2000 (окончание, начало в вып.24)

Функции

LTRIM (<строковое выражение>)
и
RTRIM (<строковое выражение>)

отсекают соответственно лидирующие и конечные пробелы строкового выражения, которое неявно приводится к типу varchar.

Пусть требуется построить такую строку: <имя пассажира>_<идентификатор пассажира> для каждой записи из таблицы Passenger. Если мы напишем

SELECT name + '_' + CAST(id_psg AS VARCHAR) FROM Passenger,

то в результате получим что-то типа:

A               _1

Это связано с тем, что столбец name имеет тип CHAR(30). Для этого типа короткая строка дополняется пробелами до заданного размера (у нас 30 символов). Здесь нам как раз и поможет функция RTRIM:

SELECT RTRIM(name) + '_' + CAST(id_psg AS VARCHAR) FROM Passenger

Функции

LOWER(<строковое выражение>)
и
UPPER(<строковое выражение>)

преобразуют все символы аргумента соответственно к нижнему и верхнему регистру. Эти функции оказываются полезными при сравнении регистрозависимых строк.

Пара интересных функций

SOUNDEX(<строковое выражение>)
и
DIFFERENCE (<строковое выражение_1>, <строковое выражение_2>)

Позволяют определить близость звучания слов. При этом SOUNDEX возвращает четырехсимвольный код, используемый для сравнения, а DIFFERENCE собственно и оценивает близость звучания двух сравниваемых строковых выражений. Поскольку эти функции не поддерживают кириллицы, отсылаю интересующихся к BOL за примерами их использования.

В заключение приведем функции и несколько примеров использования юникода.

Функция

UNICODE (<строковое выражение>)

возвращает юникод первого символа строкового выражения. Функция

Функция

NCHAR (<целое>)

возвращает символ по его юникоду. Несколько примеров.

SELECT ASCII('а'), UNICODE('а')

Возвращает код ASCII и юникод русской буквы "а": 224 и 1072.

SELECT CHAR(ASCII('а')), CHAR(UNICODE('а'))

Пытаемся восстановить символ по его коду. Получаем "а" и NULL. NULL-значение возвращается потому, что кода 1072 нет в обычной кодовой таблице.

SELECT CHAR(ASCII('а')), NCHAR(UNICODE('а'))

Теперь все нормально, в обоих случаях "а".

Наконец,

SELECT NCHAR(ASCII('а'))

даст "à", т.к. юникод 224 соответствует именно этой букве.

§ Приведенные здесь примеры можно выполнить непосредственно на сайте, установив флажок "Без проверки" на странице с упражнениями на SELECT.

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

§ Мы выставили наш сайт на конкурс Интернить 2005. Победитель определяется числом поданых голосов. Просьба проголосовать. (рекомендуемая оценка 3 :-)).

Контакты

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

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

http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.db.sqlex
Отписаться

В избранное