Главная » Просмотр файлов » Мартин Грубер - Понимание SQL

Мартин Грубер - Понимание SQL (991940), страница 52

Файл №991940 Мартин Грубер - Понимание SQL (Мартин Грубер. Понимание SQL) 52 страницаМартин Грубер - Понимание SQL (991940) страница 522015-08-23СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 52)

Одна команда FORMATобычно может применяться только к одному запросу, хотя любое число командFORMAT может применяться к одному и тому же запросу. Вот некоторые примеры команды FORMAT:FORMAT NULL '_ _ _ _ _ _ _';FORMAT BTITLE 'Orders Grouped by Salesperson';FORMAT EXCLUDE (2, 3);Первая из них представляет значения NULL в виде ’_ _ _ _ _ _ _’ при выводе напечать; вторая вставляет заголовок 'Orders Grouped by Salesperson' в нижнюю частькаждой страницы; третья исключает второй и третий столбцы из вывода предыдущегозапроса. Вы могли бы использовать последнюю из них, если вы выбираете конкретные столбцы, чтобы использовать их в предложении ORDER BY, в вашем выводе. Таккак указанные функции команды FORMAT могут выполняться по разному, весь наборих приложений не может быть здесь показан.Имеются другие команды, которые могут использоваться для выполнения тех жефункций.

Команда SET подобна команде FORMAT; она является вариантом или дополнением к команде, которая применяется во всех запросах текущего сеанса пользователя, а не просто в одиночном запросе. В следующей реализации, командаFORMAT начинается ключевым словом COLUMN следующим образом:COLUMN odate FORMAT dd-mon-yy;что навязывает формат типа 10-Oct-90 в поле даты, использующемся в выводе запроса на печать.Предложение COMPUTE, упомянутое ранее, вставляется в запрос следующимобразом:SELECT odate, amtFROM OrdersWHERE snum = 1001COMPUTE SUM (amt);Оно выводит все порядки продавца Peel, с датой и суммой приобретения по каждой дате, а в конце общую сумму приобретений.Другая реализация выводит промежуточные суммы приобретений, используяCOMPUTE в качестве команды. Сначала, она определяет разбивкуBREAK ON odate;вывода вышеупомянутого запроса на страницы — сгруппировав их по датам, поэтомувсе значения odate в каждой группе — одинаковые.

Затем вы можете ввести следующее предложение:COMPUTE SUM OF amt ON odate;Столбец в предложении ON предварительно должен быть использован в команде BREAK.ФУНКЦИИДля SQL в стандарте ANSI, вы можете применять агрегатные функции длястолбцов или использовать их значения в скалярных выражениях, таких например как— comm * 100. Имеется много других полезных функций, которые вы, вероятно встречали на практике.Имеется список некоторых общих функций SQL, отличающихся от стандартныхагрегатов.

Они могут использоваться в предложениях SELECT запросов, точно так жекак агрегатные функции, но эти функции выполняются для одиночных значений, а недля групповых. В следующем списке они классифицированны согласно типам данных,с которыми они выполняются. Если нет примечаний, то переменные в этом спискестандартизованы для любого выражения значений соответствующего типа, которыемогут быть использованы в предложении SELECT:МАТЕМАТИЧЕСКИЕ ФУНКЦИИЭти функции применяются для чисел.ФУНКЦИЯABX(X)ЗНАЧЕНИЕАбсолютное значение из X (преобразование отрицательного илиположительного значений в положительное)CEIL(X)X является десятичным значением, которое будет округляться сверху.FLOOR (X)X является десятичным значением, которое будет округляться снизу.GREATEST(X,Y) Возвращает большее из двух значений.LEAST(X,Y)Возвращает меньшее из двух значений.MOD(X,Y)Возвращает остаток от деления X на Y.POWER(X,Y)Возвращает значение X в степени Y.ROUND(X,Y)Цикл от X до десятичного Y.

Если Y отсутствует, цикл до целого числа.SING(X)Возвращает минус если X < 0, или плюс если X > 0.SQRT(X)Возвращает квадратный корень из X.СИМВОЛЬНЫЕ ФУНКЦИИЭти функции могут быть применены для строк текста, либо из столбцов текстовых типов данных, либо из строк литерных текстов, или же комбинация из этих двух.ФУНКЦИЯLEFT(<string>,X)RICHT(<string>,X)ASCII(<string>)CHR(<ASCIIcode>)VALUE(<string>)UPPER(<string>)ЗНАЧЕНИЕВозвращает крайние левые (старшие) символы X из строки.Возвращает символы X младшего разряда из строкиВозвращает код ASCII которым представляется строка в памяти компьютера.Возвращает принтерные символы кода ASCII.Возвращает математическое значение для строки.

Считаетсячто строка имеет тип CHAR или VARCHAR, но состоит из чисел. VALUE('3') произведет число 3 типа INTEGER.Преобразует все символы строки в символы верхнего регистра.Преобразует все символы строки в символы нижнего регистра.INlTCAP(<string>)Преобразует символы строки в заглавные буквы. В некоторыхреализациях может иметь название — PROPER.LENGTH(<string>)Возвращает число символов в строке.<string>||<string>Объединяет две строки в выводе, так чтобы после первойнемедленно следовала вторая.

(значек || называется оператором сцепления).LPAD(<string>,X,'*' )Дополняет строку слева звездочками '*', или любым другимуказанным символом, с колличестве, определяемом X.RPAD(<string>,X, ")То же самое что и LPAD, за исключением того, что дополнение делается справа.SUBSTR(<string>,X,Y) Извлекает Y символов из строки начиная с позиции X.LOWER(<string>)ФУНКЦИИ ДАТЫ И ВРЕМЕНИЭти функции выполняются только для допустимых значений даты или времени.ФУНКЦИЯDAY(<date>)WEEKDAY(<date>)ЗНАЧЕНИЕИзвлекает день месяца из даты. Подобные же функции существуют для MONTH (МЕСЯЦ), YEAR (ГОД), HOUR (ЧАСЫ),SECOND (СЕКУНДЫ) и так далее.Извлекает день недели из даты.ДРУГИЕ ФУНКЦИИЭта функция может быть применена к любому типу данных.ФУНКЦИЯЗНАЧЕНИЕNVL(<column>,<value>) NVL (NULL Значение) будет меняться на значение <value>каждое NULL значение, найденое в столбце <column>.

Еслиполученное значение <column> не =NULL, NVL ничего неделает.INTERSECT И MINUSКоманда UNION, как вы уже видели в Главе 14, может объединить два запроса,обьединив их вывод в один. Два других обычно имеющихся способа объединения отдельных запросов — это INTERSECT (Плюс) и MINUS (Минус). INTERSECT выводиттолько строки, произведенные обоими перекресными запросами, в то время какMINUS выводит строки, которые производятся одним запросом, но не другим. Следовательно, следующие два запросаSELECT *FROM SalespeopleWHERE city = 'London'INTERSECTSELECT *FROM SalespeopleWHERE 'London' IN (SELECT cityFROM CustomersWHERE Customers.snum = Salespeople.snum);выведут строки, произведенные обоими запросами, производящими всех продавцов вЛондоне, которые имели по крайней мере одного заказчика, размещенного там также.С другой стороны, запросSELECT *FROM SalespeopleWHERE city = 'London'MINUSSELECT *FROM SalespeopleWHERE 'London' IN (SELECT sityFROM CustomersWHERE Customers.snum = Salespeople.snum);удалит строки, выбранные вторым запросом из вывода первого, и таким образом, будут выводены все продавцы в Лондоне, которые не имели там заказчиков.

MINUS иногда еще называют DIFFERENCE (ОТЛИЧИЕ).АВТОМАТИЧЕСКИЕ ВНЕШНИЕ ОБЬЕДИНЕНИЯВ Главе 14 мы обсуждали внешнее обьединение и показывали вам, как выполнять его, используя команду UNION. Некоторые программы базы данных имеют болеенепосредственный способ выполнения внешних обьединений. В некоторых реализациях, вводимый знак "+" после предиката может выводить строки, которые удовлетворяют условию, также как и строки, которые ему не удовлетворяют. В условиипредиката может содержаться поле, совпадающее для обеих таблиц, и NULL значения будут вставлены там, где такого совпадения не будет найдено.Например, предположим, вы хотите видеть ваших продавцов и соответствующихим заказчиков, не исключая тех продавцов, которым не назначено ни одного заказчика(хотя такого нет в наших типовых таблицах, но в действительности это возможно):SELECT a.snum, sname, cnameFROM Salespeople a, Customers bWHEREa.snum = b.snum(+);Это является эквивалентом следующего объединения (UNION):SELECT a.snum, sname, cnameFROM Salespeople a, Customers bWHERE a.snum = b.snumUNIONSELECT snum, sname, '_ _ _ _ _ _ _ _ _ _'FROM SalespeopleWHERE snum NOT IN (SELECT snumFROM Customers);Мы считаем, что подчеркивания будут отображены NULL значениями (см.

команду FORMAT ранее в этом приложении, где описывалось отображение NULL значениями).ОТСЛЕЖИВАНИЕ ДЕЙСТВИЙВаша SQL реализация достаточна хороша, если она доступна многим пользователям, чтобы обеспечивать для них некий способ слежения за действиями, выполняемыми в базе данных. Имеются две основные формы, чтобы делать это:Journaling (Протоколирование) и Auditing (Ревизия).Эти формы отличаются по назначению.Journaling применяется с целью защиты ваших данных при разрушении вашейсистемы.

Характеристики

Тип файла
PDF-файл
Размер
1,41 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6510
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее