Главная » Просмотр файлов » alan_beaulieu-learning_sql-ru

alan_beaulieu-learning_sql-ru (865932), страница 50

Файл №865932 alan_beaulieu-learning_sql-ru (Учебник по SQL) 50 страницаalan_beaulieu-learning_sql-ru (865932) страница 502022-01-31СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Должны быть включены столбцы count.account_id, account.product_cd, individual.fname, individual.lname и business.name.mysql> SELECT a.account_id, a.product_cd,> i.fname, i.lname, b.name> FROM account a LEFT OUTER JOIN business b> ON a.cust_id = b.cust_id> LEFT OUTER JOIN individual i> ON a.cust_id = i.cust_id;++++++| account_id | product_cd | fname| lname | name|++++++|1 | CHK| James| Hadley | NULL||2 | SAV| James| Hadley | NULL||3 | CD| James| Hadley | NULL||4 | CHK| Susan| Tingley | NULL||5 | SAV| Susan| Tingley | NULL||6 | CHK| Frank| Tucker | NULL||7 | MM| Frank| Tucker | NULL||8 | CHK| John| Hayward | NULL||9 | SAV| John| Hayward | NULL||10 | MM| John| Hayward | NULL||11 | CHK| Charles | Frasier | NULL||12 | CHK| John| Spencer | NULL||13 | CD| John| Spencer | NULL||14 | CD| Margaret | Young | NULL||15 | CHK| Louis| Blake | NULL||16 | SAV| Louis| Blake | NULL||17 | CHK| Richard | Farley | NULL||18 | MM| Richard | Farley | NULL||19 | CD| Richard | Farley | NULL||20 | CHK| NULL| NULL| Chilton Engineering||21 | BUS| NULL| NULL| Chilton Engineering||22 | BUS| NULL| NULL| Northeast Cooling Inc.

|Решения к упражнениям287|23 | CHK| NULL| NULL| Superior Auto Body||24 | SBL| NULL| NULL| AAA Insurance Inc.|++++++24 rows in set (0.05 sec)10.4 (дополнительно)Разработайте запрос, который сформирует набор {1, 2, 3,…, 99, 100}.(Совет: используйте перекрестное соединение как минимум с двумяподзапросами в блоке from.)SELECT ones.x + tens.x + 1FROM(SELECT 0 x UNION ALLSELECT 1 x UNION ALLSELECT 2 x UNION ALLSELECT 3 x UNION ALLSELECT 4 x UNION ALLSELECT 5 x UNION ALLSELECT 6 x UNION ALLSELECT 7 x UNION ALLSELECT 8 x UNION ALLSELECT 9 x) onesCROSS JOIN(SELECT 0 x UNION ALLSELECT 10 x UNION ALLSELECT 20 x UNION ALLSELECT 30 x UNION ALLSELECT 40 x UNION ALLSELECT 50 x UNION ALLSELECT 60 x UNION ALLSELECT 70 x UNION ALLSELECT 80 x UNION ALLSELECT 90 x) tens;Глава 1111.1Перепишите следующий запрос, использующий простое выражениеcase, таким образом, чтобы получить аналогичные результаты с помощью выражения case с перебором вариантов.

Попытайтесь свести к минимуму количество блоков when.SELECT emp_id,CASE titleWHEN 'President' THEN 'Management'WHEN 'Vice President' THEN 'Management'WHEN 'Treasurer' THEN 'Management'WHEN 'Loan Manager' THEN 'Management'WHEN 'Operations Manager' THEN 'Operations'288Приложение CWHEN 'Head Teller' THEN 'Operations'WHEN 'Teller' THEN 'Operations'ELSE 'Unknown'ENDFROM employee;SELECT emp_id,CASEWHEN title LIKE '%President' OR title = 'Loan Manager'OR title = 'Treasurer'THEN 'Management'WHEN title LIKE '%Teller' OR title = 'Operations Manager'THEN 'Operations'ELSE 'Unknown'ENDFROM employee;11.2Перепишите следующий запрос так, чтобы результирующий набор содержал всего одну строку и четыре столбца (по одному для каждого отделения).

Назовите столбцы branch_1, branch_2 и т. д.mysql> SELECT open_branch_id, COUNT(*)> FROM account> GROUP BY open_branch_id;+++| open_branch_id | COUNT(*) |+++|1 |8 ||2 |7 ||3 |3 ||4 |6 |+++4 rows in set (0.00 sec)mysql> SELECT> SUM(CASE WHEN open_branch_id = 1 THEN> SUM(CASE WHEN open_branch_id = 2 THEN> SUM(CASE WHEN open_branch_id = 3 THEN> SUM(CASE WHEN open_branch_id = 4 THEN> FROM account;+++++| branch_1 | branch_2 | branch_3 | branch_4 |+++++|8 |7 |3 |6 |+++++1 row in set (0.02 sec)1111ELSEELSEELSEELSE0000END)END)END)END)branch_1,branch_2,branch_3,branch_4Дополнительные источникиТеперь, прочитав эту книгу, вы должны уверенно продвигаться к профессиональному владению языком SQL.

Я набрался смелости и сделалкнигу не просто ознакомительной, а более глубокой. Поэтому некоторые из рассмотренных тем могут попрежнему вызывать определенныетрудности. Это хорошо, потому что, помоему, покупать техническуюкнигу, которую можно прочитать всего один раз, – все равно что бросать деньги на ветер. Надеюсь, что вы будете перечитывать отдельныеглавы и продолжать экспериментировать с примером БД до тех пор,пока не сформируете твердое представление об основных концепциях.Следующий шаг этого путешествия зависит от конкретных целей, которые вы перед собой ставите. За годы работы я встречался с многимилюдьми и могу ориентировочно разделить читателей на следующиекатегории:• Вы программист (или работаете над диссертацией для полученияученой степени по вычислительной технике) без или с небольшимпредварительным знанием теории баз данных и хотите расширитьсвои навыки или вас попросили помочь разобраться с аспектамипроекта, связанными с БД.• Вы непрограммист, но получили задание разработать проект создания отчетов или управления интеллектуальными ресурсами компании, возможно, включая установку и администрирование сервераBI (Business Intelligence – интеллектуальные ресурсы), такого какBusiness Objects, Actuate, Microstrategy или Cognos.• Вы системный администратор и хотите распространить свою деятельность и на администрирование БД.• Вы владелец малого предприятия, которому требуется БД для отслеживания клиентов, материальнопроизводственных запасов, заказов и т.

д. или используете «коробочное» приложение и хотитесоздавать специальные отчеты.290Приложение D•Вы не относитесь к вышеупомянутым категориям, но какимто образом на вашем ноутбуке (надеюсь, это не рабочий компьютер) оказалась база данных.В зависимости о того, какая из указанных категорий лучше всего описывает вашу ситуацию, вас заинтересует одна или несколько следующих тем:• Углубленное изучение SQL• Программирование баз данных• Проектирование баз данных• Настройка баз данных• Администрирование баз данных• Создание отчетовДалее в этом приложении представлены все эти темы и предложенынекоторые источники, помогающие овладеть этими дополнительныминавыками.Углубленное изучение SQLНезависимо от вашей роли в организации, как то администратор, программист, специалист по вопросам производительности, составительотчетов или даже разработчик БД, для личного успеха и успеха вашегопроекта нет более важного навыка, чем владение языком SQL в совершенстве.

Все так, но довольно сложно понять, владеете ли вы языком,который включает лишь горстку команд (я имею в виду категориюSQLвыражений для работы с данными, включающую выражения select, insert, update и delete). Лучший способ определить, освоили ли выSQL, – пройти курс углубленного изучения SQL или прочитать книгудля профессионалов. После этого большинство почувствует, что вопросне настолько хорошо знаком, как это представлялось.Вот чем вам может помочь совершенное владение языком SQL:• Программисты, работающие с базами данных, в конечном счете отвечают за соответствующую реализацию спецификаций проектаи за общую производительность системы. Лучшие программистымогут создавать лаконичные и эффективные SQLвыражения, правильно реализующие спецификации проекта, не приводя к проблемам производительности.• Администрирование БД часто объединяет несколько навыков, включая проектирование и реализацию БД, программирование БД и настройку БД.

Чтобы выполнять повседневные задачи администрирования, администраторы должны в совершенстве владеть SQLвыражениями управления схемой данных (такими как create table и alterindex), а превосходное знание SQLвыражений для работы с данными поможет находить наилучшие решения при проектировании,программировании и настройке.Дополнительные источники291•Специалисты по вопросам производительности, как правило, соглашаются, что большинство проблем производительности обусловлено плохо продуманными SQLвыражениями, а не недостатком ресурсов сервера. Однако при возникновении проблем с производительностью обычно проклинают сервер и затевают дорогостоящиеи ненужные обновления оборудования.•Хорошо спроектированная БД должна быть довольно простой в навигации, иначе те, кто ее реализует, будут делать ошибки. Чембольше вы знаете о том, как будут извлекаться данные из вашейБД, тем лучше будут решения, принимаемые вами на этапе проектирования.При углубленном изучении SQL вы осмелитесь выйти за рамки базового языка, задействовав специализированные интерфейсы и наборы команд.

Например, ваша реализация SQL может позволить генерироватьданные в формате XML (Extensible Markup Language – расширяемыйязык разметки) прямо из запроса к БД или сохранять, проводить синтаксический анализ и извлекать документы XML. Ваша реализацияSQL может также включать специальную функциональность для хранилищ данных и запросов к интеллектуальным ресурсам, такую каквозможность ранжирования (например: «покажите мне 10 лучшихпродавцов прошлого года»).

Кроме того, вам может понадобиться взаимодействие с объектноориентированными языками программирования, включая применение специальных команд для хранения, извлечения и создания объектов и коллекций объектов. Ни одна из этих темобычно не рассматривается в ознакомительных книгах по SQL.Следующие книги помогут перейти на следующий уровень в изученииSQL:Санжей Мишра (Sanjay Mishra) и Алан Бьюли (Alan Beaulieu) «Mastering Oracle SQL», Second Edition, O’Reilly, 2004.1Поль Дюбуа (Paul DuBois) «MySQL Cookbook», O’Reilly, 2002.2Пол Нильсен (Paul Nielsen) «Microsoft SQL Server 2000 Bible»,Wiley, 2002.Можно также пройти курс обучения в одном из следующих учебныхцентров:•Oracle University (http://education.oracle.com)•Learning Tree International (http://www.learningtree.com)•Microsoft Learning (learning)•MySQL Training (training)1Санжей Мишра, Алан Бьюли «Секреты Oracle SQL», перевод 1го издания,СимволПлюс, 2003.Поль Дюбуа «MySQL.

Сборник рецептов», СимволПлюс, 2004.2292Приложение DПрограммирование баз данныхЕсли вы программист, желающий добавить к своему профессиональному багажу умение организовывать доступ к БД, изучение SQL –только один из кусочков этого пазла. Нужен еще язык программирования или API, позволяющий создавать сеансы с БД и взаимодействовать с ней посредством команд SQL. Может, вы уже работаете с языком, обладающим этими возможностями, а может, вам понадобитсядополнительный API или драйвер. В табл. D.1 показаны некоторыевозможности, доступные в основных языках программирования.Таблица D.1. Возможности доступа к БДЯзык програм/ APIмированияОписаниеJavaJava Database Connectivity Набор интерфейсов для взаимо(JDBC)действия с БД. Необходим JDBCдрайвер (реализация интерфейсов JDBC) производителя вашейБД или стороннего производителяC++Oracle Call Interface (OCI)Набор библиотек С/С++ для соединения с базой данных Oracleи выполнения команд SQLMySQL++Набор библиотек С++ для соединения с базой данных MySQL ивыполнения команд SQLRogueWave SourcePro DBНабор библиотек С++ для соединения с базой данных MySQL,Oracle или SQL Server (в том числе) и выполнения команд SQLPerlDBIМодуль для доступа к MySQL,SQL Server, Oracle и нескольким другим СУБД посредствомединого интерфейсаVisual C++Visual C#Visual BasicMicrosoft ActiveX® DataObjects .NET (ADO.NET)Набор интерфейсов, предоставляющих сервисы доступа к данным для платформы .NETВсе приведенные в табл.

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

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

Список файлов ответов (шпаргалок)

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