Книга SQL Notes for Professionals составлена на основе документации Stack Overflow Documentation, контент написан замечательными людьми из Stack Overflow. В конце книги есть список авторов, которые внесли свой вклад в различные главы.
Текстовое содержимое выпущено под лицензией Creative Commons BY-SA. Изображения могут быть защищены авторским правом, если не указано иное.
Это неофициальная бесплатная книга, созданная в образовательных целях и не связанная с официальными группами или компаниями SQL или Stack Overflow. Гарантия на точность и правильность информации не предоставляется. Используйте на свой страх и риск.
Обзор
Язык структурированных запросов ( Structured Query Language, SQL) — это язык программирования специального назначения, предназначенный для управления данными, хранящимися в Системе Управления реляционными Базами Данных (СУБД). SQL-подобные языки также могут использоваться в Relational Database Management System (RDMS) или в базах данных "не только SQL" (NoSQL).
SQL состоит из 4 основных подъязыков:
- Язык описания данных (Data Definition Language, DDL): для создания и изменения структуры базы данных.
- Язык управления данными (Data Manipulation Language, DML): для выполнения операций чтения, вставки, обновления и удаления данных базы данных.
- Язык контроля данных (Data Control Language, DCL): для управления доступом к данным, хранящимся в базе данных.
- Язык контроля транзакций (Transaction Control Language, TCL): для управления транзакциями. В этой книге набор команд для управления транзакциями не рассматривают как отдельный язык.
Содержание
- Getting started with SQL
- Identifier
- Data Types
- NULL
- Example Databases and Tables
- SELECT
- GROUP BY
- ORDER BY
- AND & OR Operators
- CASE
- LIKE operator
- IN clause
- Filter results using WHERE and HAVING
- SKIP TAKE (Pagination)
- EXCEPT
- EXPLAIN and DESCRIBE
- EXISTS CLAUSE
- JOIN
- UPDATE
- CREATE Database
- CREATE TABLE
- CREATE FUNCTION
- TRY/CATCH
- UNION / UNION ALL
- ALTER TABLE
- INSERT
- MERGE
- cross apply, outer apply
- DELETE
- TRUNCATE
- DROP Table
- DROP or DELETE Database
- Cascading Delete
- GRANT and REVOKE
- XML
- Primary Keys
- Indexes
- Row number
- SQL Group By vs Distinct
- Finding Duplicates on a Column Subset with Detail
- String Functions
- Functions (Aggregate)
- Functions (Scalar/Single Row)
- Functions (Analytic)
- Window Functions
- Common Table Expressions
- Views
- Materialized Views
- Comments
- Foreign Keys
- Sequence
- Subqueries
- Execution blocks
- Stored Procedures
- Triggers
- Transactions
- Table Design
- Synonyms
- Information Schema
- Order of Execution
- Clean Code in SQL
- SQL Injection