Настолна книга, ценна за всеки, работещ със SQL. В нея ще откриете 76 примера с решения на конкретни практически задачи, разделени в пет глави.
Като тестова база данни в книгата е използвана такава, обслужваща малък онлайн магазин. В нея се съхранява информация за продукти, продуктови категории, потребители и поръчки.
Ще упражнявате и усъвършенствате своите умения чрез:
• Прости заявки – избиране на данни от една или повече таблици, филтриране и сортиране на резултатите.
• Агрегиращи функции за извличане на обобщена информация от базата данни – изчисляване на средната, максималната или минималната стойност.
• Форматиране, изчисляване и манипулиране на дати и време – филтриране на резултатите спрямо дати.
• Работа със списъци и търсене на данни, които отговарят на определени критерии.
• Комбиниране на прости заявки, използване на оператори за сравнение и логически оператори.
• Работа с таблици – създаване, променяне и изтриване на таблици. Добавяне и променяне на данни в тях, извличане на информация и работа с ключове и индекси. Отношения между таблици и ограниченията върху тези отношения, като външни и вътрешни ключове. Свързване на две или повече таблици и дефиниране на връзките между тях.
Книгата включва информация за управлението на потребителите и правата за достъп до базата данни. Разгледана е и работата с изгледите – виртуални таблици, които съдържат резултатите от една или повече заявки и позволяват извличане на информация от тях.
Включените в изданието решения позволяват бърза и ефективна работа със SQL, спестявайки ви грижи и ценно време.
Свалете примери от книгата "SQL – решения на практически задачи"
Съдържание
Въведение…6
Малко терминология за базите данни…14
Какво е SQL…15
Как изглеждат заявките?…17
Къде да въведете SQL код…17
Импортиране на тестова база данни…18
Глава 1. Прости заявки…20
Пример 1. Получаване на цялата таблица наведнъж…20
Пример 2. Конкретизиране на изискванията…22
Пример 3. Сортиране на резултата…25
Пример 4. Показване само на уникални стойности…25
Пример 5. Ограничаване на броя на резултатите…26
Пример 6. Случайна извадка. Избираме произволен клиент…27
Пример 7. Включване на логика. Булеви оператори в WHERE…28
Пример 8. Добавяне на нов продукт към таблицата…29
Пример 9. Актуализиране на запис. Групова актуализация на цените…32
Пример 10. Изтриване на записи…34
Пример 11. Изчистване на цялата таблица…35
Глава 2. Агрегиращи функции…37
Пример 12. Преброяване на броя на редовете в резултата…37
Пример 13. Сума от всички поръчки…38
Пример 14. Изчисляване на средната поръчка (AVG)…39
Пример 15. Изчисляване на максималната поръчка (MAX)…39
Пример 16. Определяне на най-евтиния артикул (MIN)…39
Пример 17. Намиране на най-голямата поръчка на всеки клиент (GROUP BY)…40
Пример 18. Must have? Разбиране на HAVING…41
Пример 19. Използване на скаларни изрази в агрегиращи функции…45
Пример 20. Специални атрибути на функцията COUNT…45
Глава 3. Работа с дати…48
Пример 21. Избор на тип поле за съхраняване на дата и час…48
Пример 22. Получаване на дата и час…49
Пример 23. Извличане на компоненти за дата и час…50
Пример 24. Манипулиране на дата и час…51
Пример 25. Форматиране на дата и час…52
Пример 26. Търсене на последни поръчки…54
Глава 4. Нека направим нещата по-сложни…56
Пример 27. Кой живее в България и САЩ? Операторът IN…56
Пример 28. Избиране на стойности между…57
Пример 29. Харесва ли ви, или не?…58
Пример 30. Нулиране…59
Пример 31. Във всяка ситуация отричайте всичко…59
Пример 32. Изрази в списъка с колони…60
Пример 33. Сортиране на изходни полета…62
Пример 34. Сортиране на съставни групи…63
Пример 35. Използване на пълни имена на колони…64
Пример 36. Показване на имена на клиенти в таблицата с поръчки…65
Пример 37. Избиране на всички поръчки по име на клиент…67
Пример 38. Получаване на всички поръчки от клиенти от определен град…68
Пример 39. DICTINCT и подзаявки…69
Пример 40. Използване на агрегиращи функции в подзаявки…70
Пример 41. Използване на HAVING в подзаявки…71
Пример 42. Свързване на всичко заедно…71
Пример 43. Таблица и нейно копие…73
Пример 44. Свързани заявки и HAVING…73
Пример 45. Използване на техниката за подзаявка с INSERT/DELETE/UPDATE…74
Пример 46. Как да ограничим подзаявка…77
Пример 47. Вмъкване на UUID…78
Пример 48. Използване на псевдоними на таблици за по-голямо удобство…81
Глава 5. Работа с таблици…83
Пример 49. Създаване на таблица…83
Пример 50. Създаване на таблица с автоматичен брояч…89
Пример 51. Създаване и изтриване на индекс…90
Пример 52. Промяна на таблица. Добавяне на нови полета към таблицата…93
Пример 53. Изтриване на таблица…95
Пример 54. Вмъкване на данни от една таблица в друга…96
Глава 6. Отношения и ограничения…99
Пример 55. Ограничения за NULL стойности…99
Пример 56. Уникалност и индекси…99
Пример 57. Уникалност за колони…100
Пример 58. Уникалност за таблица…101
Пример 59. Ограничения за първичен ключ…101
Пример 60. Проверка на стойностите на полета. Стойности по подразбиране…103
Пример 61. Връзки между таблиците за поръчки и клиенти…106
Пример 62. Избиране на най-малко опасните ограничения. Каскадно изтриване…111
Глава 7. Изгледи…114
Пример 63. Създаване на изглед. Всички клиенти от определен град…114
Пример 64. Модифициране на изглед…115
Пример 65. Отпечатване на броя клиенти, броя на поръчките, средната сума на поръчката и сумата от всички поръчки за даден ден…116
Пример 66. Изгледи със сложни заявки. Поръчките са над средните…116
Пример 67. Обновяеми изгледи. Всички купувачи от Париж…117
Пример 68. Валидиране на изгледа…119
Пример 69. Как да изключите полета…120
Глава 8: Потребители и права за достъп…123
Пример 70. Създаване на база данни и нов потребител на базата данни…123
Пример 71. Задаване на опции за акаунт…123
Пример 72. Предоставяне на потребителски права…127
Пример 73. Ограничаване на отделни операции…127
Пример 74. Прехвърляне на правомощия…130
Пример 75. Отнемане на правомощия…131
Пример 76. Как да възстановим забравена root парола?…132