На современном рынке, где каждый день генерируется огромное количество данных, очень важно понимать, как обрабатывать данные. SQL Server - это интегрированная среда, разработанная Microsoft для обработки данных.В этой статье об учебнике по SQL Server вы узнаете все операции и команды, необходимые для исследования ваших баз данных.
Для вашего лучшего понимания я разделил блог на следующие категории:
Команды | Описание |
Этот набор команд используется для определения базы данных. | |
Команды языка обработки данных (DML) | Команды манипуляции используются для манипулирования данными, имеющимися в базе данных. |
Этот набор команд имеет дело с разрешениями, правами и другими элементами управления систем баз данных. | |
Эти команды используются для иметь дело с транзакцией базы данных. |
Помимо команд, в этой статье рассматриваются следующие темы:
- Что такое SQL Server?
- Установить SQL Server
- Подключиться к SQL Server с помощью SSMS
- Доступ к ядру СУБД
- Архитектура SQL Server
- Комментарии в SQL
- Типы данных SQL Server
- Ключи в базе
- Ограничения в базе данных
- Операторы
- Агрегатные функции
- Пользовательские функции
- Вложенные запросы
- Присоединяется
- Петли
- Хранимые процедуры
- Обработка исключений
***ПРИМЕЧАНИЕ*** В этом руководстве по SQL Server я собираюсь рассматривать приведенную ниже базу данных какпример, чтобы показать вам, как учиться и писатькоманды.
Студенческий билет | Имя студента | ParentName | Телефонный номер | Адрес | город | Страна |
один | Я ненавижу | Акрити Мехра | 9955339966 | Бригада дорожного блока 9 | Хайдарабад | Индия |
2 | Манаса | Шурья Шарма | 9234568762 | Mayo Road 15 | Калькутта | Индия |
3 | Анай | Сумья Мишра | 9876914261 | Дом мараталли № 101 | Бангалор | Индия |
4 | Прити | Рохан Синха | 9765432234 | Queens Road 40 | Дели | Индия |
5 | Шаная | Абхиная агарвал | 9878969068 | Улица Оберой, 21 | Мумбаи | Индия |
Прежде чем мы начнем понимать различные команды, используемые в SQL Server, давайте разберемся, что такое SQL Server, его архитектура и как его установить.
Что такое SQL Server?
Microsoft SQL Server - это реляционный система управления базами данных . Он поддерживает Язык структурированных запросов и поставляется с собственной реализацией языка SQL, который является Transact-SQL (T-SQL) . Он имеет интегрированную среду для обработки баз данных SQL, которая является .
Ключевые компоненты SQL Server следующие:
- Ядро СУБД: Этот компонент обрабатывает хранилище, быструю обработку транзакций и защиту данных.
- SQL Server - Эта служба используется для запуска, остановки, приостановки и продолжения работы экземпляра MS SQL Server.
- Агент SQL Server - Служба агента сервера играет роль планировщика задач и запускается любым событием или в соответствии с требованиями.
- Браузер SQL Server - Эта служба используется для подключения входящего запроса к желаемому экземпляру SQL Server.
- Полнотекстовый поиск SQL Server - Используется, чтобы позволить пользователю выполнять полнотекстовые запросы к символьным данным в таблицах SQL.
- Модуль записи VSS SQL Server - Разрешает резервное копирование и восстановление файлов данных, когда SQL Server не запущен.
- Службы аналитики SQL Server (SSAS) - Эта услуга используется для анализа данных, интеллектуального анализа данных и возможности. SQL Server также интегрирован с и р для расширенной аналитики данных.
- Службы отчетов SQL Server (SSRS) - Как следует из названия, эта служба используется для предоставления функций и возможностей принятия решений, включая интеграцию с .
- Службы интеграции SQL Server (SSIS) - Эта служба используется для выполнения операций ETL для разных типов данных из нескольких источников данных.
Теперь, когда вы знаете, что такое MS SQL Server, давайте перейдем к этой статье, посвященной руководству по SQL Server, и поймем, как установить и настроить SQL Server.
Установить SQL Server
Для установки SQL Server выполните следующие действия:
Шаг 1: Перейти на официальную страницу Microsoft SQL Server скачать , где вы найдете возможность установить SQL Server локально или в облаке.
Шаг 2: Теперь прокрутите вниз, и вы увидите два варианта: Версия для разработчиков и предприятий . Здесь я буду загружать Версия для разработчиков . Чтобы скачать, вам просто нужно нажать на Скачать сейчас вариант. См. Ниже.
Шаг 3: После загрузки приложения дважды щелкните файл, и вы увидите следующее окно.
Шаг 4: Теперь вы можете выбрать любой из 3 вариантов для установки SQL Server. Здесь я просто выберу Базовый вариант . При выборе варианта типа установки на следующем экране следует принять лицензионное соглашение. Для этого нажмите на Принять в следующем окне.
Шаг 5: Затем вам нужно указать место установки SQL Server. Затем вам нужно нажать «Установить».
Как только вы нажмете на Установить , вы увидите, что необходимые пакеты загружаются. Теперь, после завершения установки, вы увидите следующий экран:
Здесь вы можете либо перейти вперед и нажать «Подключиться сейчас», либо настроить установку. Для вашего лучшего понимания я пойду вперед и выберу Настроить.
Шаг 6: Как только вы нажмете на Настроить в приведенном выше окне вы увидите, как открывается следующий мастер. в следующем окне нажмите на Следующий.
Шаг 7: После автоматической установки правил нажмите Следующий . См. Ниже.
Шаг 8: Далее вам необходимо выбрать тип установки. Итак, выбираем Выполнить новая установка SQL Server 2017 вариант, а затем нажмите Следующий.
Шаг 9: В открывшемся мастере выберите редакцию: Разработчик. Затем нажмите на Следующий . См. Ниже.
Шаг 10: Теперь прочтите и примите лицензионные соглашения, отметив переключатель, а затем нажмите Следующий . См. Ниже.
Шаг 11: В мастере ниже вы можете выбрать функции, которые хотите установить. Кроме того, вы можете выбрать корневой каталог экземпляра и затем щелкнуть Следующий . Здесь я выберу Службы ядра СУБД .
Шаг 12: Затем вы должны назвать экземпляр, и автоматически будет создан идентификатор экземпляра. Здесь я назову экземпляр «edureka». Затем нажмите на Следующий.
Шаг 13: В мастере настройки сервера нажмите Следующий .
Шаг 14: Теперь вам нужно включить режимы аутентификации. Здесь вы увидите Режим проверки подлинности Windows и Смешанный режим . Я выберу смешанный режим. Затем укажите пароль, а затем я добавлю текущего пользователя как Админ выбрав Добавить текущего пользователя вариант.
Шаг 15: Затем выберите путь к файлу конфигурации и нажмите Установить .
После завершения установки вы увидите следующий экран:
Подключиться к SQL Server с помощью SSMS
После установки SQL Server вашим следующим шагом будет подключение SQL Server к SQL Server Management Studio. Для этого выполните следующие действия:
Шаг 1: Вернитесь в следующее окно и нажмите на установить SSMS вариант.
Шаг 2: Как только вы нажмете эту опцию, вы будете перенаправлены на следующая страница , где вам нужно выбрать Скачайте SSMS.
Шаг 3: После загрузки установки дважды щелкните приложение, и вы увидите, как открывается следующий мастер.
Шаг 4: Нажмите на Вариант установки в окне выше, и вы увидите, что эта установка начнется.
Шаг 5: После завершения установки вы увидите диалоговое окно, как показано ниже.
После установки SSMS следующим шагом будет доступ к Ядро СУБД .
Доступ к ядру СУБД
Когда вы открываете Студия управления SQL сервером от стартовое меню , откроется окно, похожее на окно, показанное на рисунке ниже.
Здесь укажите имя сервера, режим аутентификации и нажмите Подключиться.
После того, как вы нажмете на Подключить , вы увидите следующий экран.
Ребята, вот как вы устанавливаете и настраиваете SQL Server. Теперь, продвигаясь вперед в этом руководстве по SQL Server, давайте разберемся с различными компонентами архитектуры SQL Server.
Архитектура SQL Server
Архитектура SQL Server следующая:
- Сервер & minus Здесь устанавливаются службы SQL и находится база данных
- Реляционный двигатель & minus Содержит анализатор запросов, оптимизатор и исполнитель, и выполнение происходит в реляционном механизме.
- Командный парсер & minus Проверяет синтаксис запроса и преобразует запрос на машинный язык.
- Оптимизатор & minus Подготавливает план выполнения в качестве выходных данных, принимая в качестве входных данных статистику, запрос и дерево алгебратора.
- Исполнитель запросов & minus Это место, где запросы выполняются шаг за шагом
- Механизм хранения & minus Он отвечает за хранение и извлечение данных в системе хранения, манипулирование данными, управление и блокировку транзакций.
Теперь, когда вы знаете, как настроить и установить SQL Server и его различные компоненты, давайте начнем с написания Сервер. Но перед этим позвольте мне рассказать, как писать комментарии в SQL Server.
Комментарии в SQL Server
Есть два способа комментирования в SQL: либо использовать s однострочные комментарии или м сверхстрочные комментарии .
Однострочные комментарии
Однострочные комментарии начинаются с два дефиса (-). Следовательно, текст, указанный после (-), до конца единственной строки будет игнорироваться компилятором.
Пример:
--Пример однострочных комментариев
Многострочные комментарии
Многострочные комментарии начинаются с / * и заканчиваются * / . Следовательно, текст, упомянутый между / * и * / будет проигнорирован компилятором.
Пример:
/ * Пример многострочного комментария * /
Теперь в этой статье об учебнике по SQL Server давайте начнем с первого набора команд, то есть с команд языка определения данных.
Команды языка определения данных
Этот раздел статьи даст вам представление о командах, с помощью которых вы можете определить свою базу данных. Команды следующие:
СОЗДАЙТЕ
Этот оператор используется для создания таблицы, базы данных или представления.
Заявление CREATE DATABASE
Этот оператор используется для создания базы данных.
Синтаксис
СОЗДАТЬ БАЗУ ДАННЫХ DatabaseName
пример
СОЗДАТЬ БАЗУ ДАННЫХ Студенты
‘ СОЗДАТЬ ТАБЛИЦУ ' Утверждение
Как следует из названия, этот оператор используется для создания таблицы.
Синтаксис
CREATE TABLE TableName (тип данных Column1, тип данных Column2, тип данных Column3, .... тип данных ColumnN)
пример
СОЗДАТЬ ТАБЛИЦУ StudentInfo (StudentID int, StudentName varchar (8000), ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000), City varchar (8000), Country varchar (8000))
УДАЛИТЬ
Этот оператор используется для удаления существующей таблицы, базы данных или представления.
Заявление «DROP DATABASE»
Этот оператор используется для удаления существующей базы данных. Полная информация, имеющаяся в базе данных, будет потеряна, как только вы выполните следующую команду.
Синтаксис
DROP DATABASE DatabaseName
пример
DROP DATABASE Студенты
Заявление 'DROP TABLE'
Этот оператор используется для удаления существующей таблицы. Полная информация, представленная в таблице, будет потеряна, как только вы выполните следующую команду.
Синтаксис
DROP TABLE TableName
пример
ВЫБРАТЬ ТАБЛИЦУ StudentInfo
ВОЗРАСТ
Команда ALTER используется для добавления, удаления или изменения столбцов или ограничений в существующей таблице.
‘ ИЗМЕНИТЬ ТАБЛИЦУ ' Утверждение
Этот оператор используется для добавления, удаления и изменения столбцов в уже существующей таблице.
Заявление «ALTER TABLE» с ДОБАВЛЕНИЕМ / УДАЛЕНИЕ КОЛОНКИ
Оператор ALTER TABLE используется с командой ADD / DROP Column для добавления и удаления столбца.
Синтаксис
ALTER TABLE TableName ADD ColumnName Тип данных ALTER TABLE TableName DROP COLUMN ColumnName
пример
--Добавить группу крови столбца: ALTER TABLE StudentInfo ADD BloodGroup varchar (8000) --DROP Column BloodGroup: ALTER TABLE StudentInfo DROP COLUMN BloodGroup
Оператор ALTER TABLE с ALTER COLUMN
Оператор ALTER TABLE может использоваться со столбцом ALTER для изменения типа данных существующего столбца в таблице.
Синтаксис
ALTER TABLE имя таблицы ALTER COLUMN имя столбца Тип данных
пример
- Добавьте столбец DOB и измените тип данных с даты на дату и время. ИЗМЕНИТЬ ТАБЛИЦУ Информация о студенте ДОБАВИТЬ дату ДОБ ИЗМЕНИТЬ ТАБЛИЦУ Информация о студенте ИЗМЕНИТЬ СТОЛБНУЮ дату и время
TRUNCATE
Эта команда SQL используется для удаления информации, представленной в таблице, но не удаляет саму таблицу. Итак, если вы хотите удалить информацию, представленную в таблице, а не удалить саму таблицу, вы должны использовать команду TRUNCATE. В противном случае используйте команду DROP.
Синтаксис
TRUNCATE TABLE имя таблицы
пример
ОБРЕЗАТЬ ТАБЛИЦА StudentInfo
ПЕРЕИМЕНОВАТЬ
Этот оператор используется для переименования одной или нескольких таблиц.
Синтаксис
sp_rename 'OldTableName', 'NewTableName'
пример
sp_rename 'StudentInfo', 'Infostudents'
Продолжая эту статью, посвященную руководству по SQL Server, давайте разберемся с различными типами данных, поддерживаемыми SQL Server.
Типы данных SQL Server
Категория типа данных | Имя типа данных | Описание | Диапазон / Синтаксис |
Точные числа | числовой | Используется для хранения числовых значений и имеет фиксированную точность и масштабные числа | - от 10 ^ 38 +1 до 10 ^ 38 - 1. |
tinyint | Используется для хранения целочисленных значений | От 0 до 255 | |
Smallint | Используется для хранения целочисленных значений | От -2 ^ 15 (-32,768) до 2 ^ 15-1 (32,767) | |
Bigint | Используется для хранения целочисленных значений | От -2 ^ 63 (-9,223,372,036,854,775,808) до 2 ^ 63-1 (9,223,372,036,854,775,807) | |
int | Используется для хранения целочисленных значений | От -2 ^ 31 (-2 147 483 648) до 2 ^ 31-1 (2 147 483 647) | |
немного | Хранит целочисленный тип данных, который имеет значение 0, 1 или NULL. | 0, 1 или NULL | |
десятичная дробь | Используется для хранения числовых значений и имеет фиксированную точность и масштабные числа | - от 10 ^ 38 +1 до 10 ^ 38 - 1. | |
smallmoney | Используется для хранения денежныхили валютные ценности. | - с 214 748,3648 до 214 748,3647 | |
Деньги | Используется для хранения денежныхили валютные ценности. | -922,337,203,685,477,5808 до 922,337,203,685,477,5807 (-922,337,203,685,477,58 на номер 922 337 203 685 477,58 для Informatica. | |
Приблизительные цифры | плавать | Используется для хранения числовых данных с плавающей запятой | - 1.79E + 308 до -2.23E-308, 0 и 2.23E-308 до 1.79E + 308 |
настоящий | Используется для хранения числовых данных с плавающей запятой | - от 3,40E + 38 до -1,18E - 38, 0 и 1,18E - от 38 до 3,40E + 38 | |
Дата и время | Дата | Используется для определения даты в SQL Server. | Синтаксис: дата |
smalldatetime | Используется для определения даты, которая сочетается с временем дня, где время основано на 24-часовом дне, с нулевыми секундами (: 00) и без дробных секунд. | Синтаксис: smalldatetime | |
дата и время | Используется для определения даты в сочетании со временем дня с дробными секундами в 24-часовом формате. | Синтаксис: datetime | |
datetime2 | datetime2 является продолжением существующих дата и время тип с большей дробной точностью по умолчанию, большим диапазоном дат. | Синтаксис: datetime2 | |
datetimeoffset | Используется для определения даты в сочетании со временем дня с учетом часовых поясов. Он основан на 24-часовом формате. | Синтаксис: datetimeoffset | |
время | Используется для определения времени суток. | Синтаксис: время | |
Строки символов | char | Используется для хранения символов фиксированного размера. | char[( п )], где значение n варьируется от 1 до 8,000 |
варчар | Используется для хранения символов переменной длины. | varchar [( п | Максимум)], где значение n варьируется от 1 до 8000, а максимально допустимый объем памяти составляет 2 ГБ. | |
текст | Используется для хранения vданные произвольной длины не в Юникоде | Максимально допустимая длина строки - 2 ^ 31-1 (2 147 483 647) | |
Строки символов Юникода | нчар | Используется для хранения символов фиксированного размера. | нчар[(n)], где значение n варьируется от 1 до 4000. |
nvarchar | Используется для хранения символов переменной длины. | varchar [( п | Максимум)], где значение n варьируется от 1 до 4000, а максимально допустимая память составляет 2 ГБ. | |
ntext | Используется для хранения данных Unicode переменной длины | Максимально допустимая длина строки - 2 ^ 30-1 (2 147 483 647) | |
Бинарные строки | двоичный | Используется для хранения двоичных типов данных фиксированной длины | двоичный[( п )], где значение n варьируется от 1 до 8,000 |
varbinary | Используется для хранения двоичных типов данных фиксированной длины | varbinary[( п )], где значение n варьируется от 1 до 8000, а максимально допустимое пространство для хранения составляет 2 ^ 31-1 байт. | |
образ | Используется для хранения двоичных данных переменной длины | 0-2 ^ 31-1 (2147483647) байт | |
Другие типы данных | Это тип данных для хранимой процедуры или параметров ВЫХОДА переменных, которые содержат ссылку на курсор. | - | |
версия строки | Используется для отображения автоматически генерируемых уникальных двоичных чисел в базе данных. | - | |
иерархия | Используется для обозначения позиции в иерархии. | - | |
уникальный идентификатор | 16-байтовый GUID. | Синтаксис:уникальный идентификатор | |
sql_variant | Используется для хранения значений различных типов данных, поддерживаемых SQL Server. | Синтаксис: sql_variant | |
xml | Используется для хранения типа данных XML. | xml ([КОНТЕНТ | ДОКУМЕНТ] xml_schemacollection) | |
Типы пространственной геометрии | Используется для представления данных в евклидовой (плоской) системе координат. | - | |
Типы пространственной географии | Используется для хранения эллипсоидальных (круглых) данных, таких как координаты широты и долготы GPS. | - | |
Таблица | Используется для хранения набора результатов для обработки в более позднее время | - |
Далее в этой статье давайте разберемся с различными типами ключей и ограничений в базе данных.
Различные типы ключей в базе данных
В базе данных используются разные типы ключей:
- Ключ кандидата - Ключ кандидата - это набор атрибутов, которые могут однозначно идентифицировать таблицу. Таблица может иметь более одного ключа-кандидата, и из выбранных ключей-кандидатов один ключ выбирается в качестве первичного ключа.
- Супер ключ - Набор атрибутов может однозначно идентифицировать кортеж. Итак, ключи-кандидаты, уникальные ключи и первичные ключи являются суперключами, но наоборот - неверно.
- Первичный ключ - Первичные ключи используются для однозначной идентификации каждого кортежа.
- Альтернативный ключ - Альтернативные ключи - это те ключи-кандидаты, которые не выбраны в качестве первичного ключа.
- Уникальный ключ- Уникальные ключи аналогичны первичному ключу, но допускают одно значение NULL в столбце.
- Внешний ключ - Атрибут, который может принимать только значения, присутствующие в качестве значений какого-либо другого атрибута, является внешний ключ к атрибуту, к которому он относится.
- Составной ключ- Составные ключи - это комбинация двух или более столбцов, которые однозначно идентифицируют каждый кортеж.
Ограничения, используемые в базе данных
Ограничения используются в базе данных для определения правил для данных, хранящихся в таблице. Различные типы ограничения в SQL являются следующими:
НЕНУЛЕВОЙ
Ограничение NOT NULL гарантирует, что столбец не может иметь значение NULL.
пример
СОЗДАТЬ ТАБЛИЦУ StudentInfo (StudentID int NOT NULL, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar (8000)) --NOT NULL на ALTER TABLE ALTER TABLE StudentsInfo ALTER COLUMN PhoneNumber int NOT NULL
УНИКАЛЬНЫЙ
Это ограничение гарантирует, что все значения в столбце уникальны.
пример
--UNIQUE при создании таблицы CREATE TABLE StudentsInfo (StudentID int NOT NULL UNIQUE, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, Varchar города (8000), varchar страны ( 8000)) --UNIQUE для нескольких столбцов СОЗДАТЬ ТАБЛИЦУ StudentsInfo (StudentID int NOT NULL, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, Varchar City (8000), Country varchar (8000) CONSTRAINT UC_Student_Info UNIQUE (StudentID, PhoneNumber)) --UNIQUE при ALTER TABLE ALTER TABLE StudentsInfo ADD UNIQUE (StudentID) - Чтобы удалить ограничение UNIQUE ALTER TABLE StudentInfo DROP CONSTRAINT UC_Student_Info
ПРОВЕРЯТЬ
Ограничение CHECK гарантирует, что все значения в столбце удовлетворяют определенному условию.
пример
--CHECK Ограничение для CREATE TABLE CREATE TABLE StudentInfo (StudentID int NOT NULL, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, Varchar города (8000), varchar страны ( 8000) CHECK (Country = 'India')) --CHECK Ограничение для нескольких столбцов CREATE TABLE StudentsInfo (StudentID int NOT NULL, StudentName varchar8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, Varchar города (8000), страны varchar (8000) CHECK (Country = 'India' AND City = 'Hyderabad')) - CHECK Ограничение на ALTER TABLE ALTER TABLE StudentsInfo ADD CHECK (Country = 'India') - чтобы дать имя для ограничения CHECK ALTER TABLE StudentInfo ADD CONSTRAINT CheckConstraintName CHECK (Country = 'India') - для удаления ограничения CHECK ALTER TABLE StudentInfo DROP CONSTRAINT CheckConstraintName
ПО УМОЛЧАНИЮ
Ограничение DEFAULT состоит из набора значений по умолчанию для столбца, когда значение не указано.
пример
--DEFAULT Ограничение для CREATE TABLE CREATE TABLE StudentInfo (StudentID int, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, Varchar города (8000), varchar страны (8000)) ПО УМОЛЧАНИЮ «Индия») - Ограничение по умолчанию для ALTER TABLE ALTER TABLE StudentsInfo ДОБАВИТЬ ОГРАНИЧЕНИЕ defau_Country ПО УМОЛЧАНИЮ «Индия» FOR Country - Чтобы удалить ограничение по умолчанию ALTER TABLE StudentsInfo ALTER COLUMN Country DROP defau_Country
ПОКАЗАТЕЛЬ
В Ограничение INDEX используется для создания индексов в таблице, с помощью которых вы можете очень быстро создавать и извлекать данные из базы данных.
Синтаксис
--Создайте индекс, в котором разрешены повторяющиеся значения CREATE INDEX IndexName ON TableName (Column1, Column2, ... ColumnN) --Создайте индекс, где повторяющиеся значения не допускаются CREATE UNIQUE INDEX IndexName ON TableName (Column1, Column2, ... СтолбецN)
пример
CREATE INDEX idex_StudentName ON StudentsInfo (StudentName) - для удаления индекса в таблице DROP INDEX StudentsInfo.idex_StudentName
Продвигаясь вперед в этой статье об учебнике по SQL Server, давайте теперь разберемся с различными командами языка манипулирования данными, используемыми в Microsoft SQL Server.
Команды языка манипулирования данными
В этом разделе статьи будут рассмотрены все те команды, с помощью которых вы можете управлять базой данных. Команды следующие:
Помимо этих команд, существуют также другие манипулятивные операторы / функции, такие как:
ИСПОЛЬЗОВАТЬ
Этот оператор используется для выбора базы данных для начала выполнения с ней различных операций.
Синтаксис
USE DatabaseName
пример
Студенты ЕГЭ
ВСТАВИТЬ В
В INSERT INTO заявление используется для вставки новых записей в существующую таблицу.
Синтаксис
INSERT INTO TableName (Column1, Column2, Column3, ..., ColumnN) VALUES (value1, value2, value3, ...) - Если вы не хотите упоминать имена столбцов, используйте приведенный ниже синтаксис INSERT INTO TableName VALUES (Значение1, Значение2, Значение3, ...)
пример
ВСТАВИТЬ студенческую информацию (StudentID, StudentName, ParentName, PhoneNumber, AddressofStudent, City, Country) VALUES ('06', 'Sanjana', 'Kapoor', '9977331199', 'Buffalo Street House No 10', 'Kolkata', 'India ') ВСТАВИТЬ ЗНАЧЕНИЯ StudentInfo (' 07 ',' Vishal ',' Mishra ',' 9876509712 ',' Nice Road 15 ',' Pune ',' India ')
ОБНОВИТЬ
Оператор UPDATE используется для изменения или обновления записей, уже имеющихся в таблице.
Синтаксис
ОБНОВЛЕНИЕ TableName SET Column1 = Value1, Column2 = Value2, ... WHERE Condition
пример
ОБНОВЛЕНИЕ StudentInfo SET StudentName = 'Aahana', City = 'Ahmedabad' ГДЕ StudentID = 1
УДАЛИТЬ
Оператор DELETE используется для удаления существующих записей в таблице.
Синтаксис
УДАЛИТЬ ИЗ TableName WHERE Condition
пример
УДАЛИТЬ ИЗ StudentInfo, ГДЕ StudentName = 'Aahana'
ИДТИ
Оператор MERGE используется для выполнения операций INSERT, UPDATE и DELETE для конкретной таблицы, в которой указана исходная таблица. См. Ниже.
Синтаксис
MERGE TagretTableName ИСПОЛЬЗОВАНИЕ SourceTableName ON MergeCondition ПРИ СООТВЕТСТВИИ ТОГДА Update_Statement КОГДА НЕ СООТВЕТСТВУЕТ ТОГДА Insert_Statement ЕСЛИ НЕ СООТВЕТСТВУЕТ ИСТОЧНИКУ ТОЛЬКО УДАЛИТЬ
пример
Чтобы понять инструкцию MERGE, рассмотрите следующие таблицы как исходную и целевую.
Исходная таблица:
Студенческий билет | Имя студента | Метки |
один | Я ненавижу | 87 |
2 | Манаса | 92 |
4 | Анай | 74 |
Целевая таблица:
Студенческий билет | Имя студента | Метки |
один | Я ненавижу | 87 |
2 | Манаса | 67 |
3 | Саураб | 55 |
MERGE SampleTargetTable ЦЕЛЬ ИСПОЛЬЗУЕТСЯ SampleSourceTable ИСТОЧНИК ВКЛЮЧЕНА (TARGET.StudentID = SOURCE.StudentID) ПРИ СОБЛЮДЕНИИ И TARGET.StudentName SOURCE.StudentName ИЛИ TARGET.Marks SOURCE.Marks THEN UPDATE SOURCE.Marks SOURCE.Marks THEN UPDATE SOURCE.MARGET = ЕСЛИ ЦЕЛЬ НЕ СООТВЕТСТВУЕТ, ТО ВСТАВЬТЕ (StudentID, StudentName, Marks) ЗНАЧЕНИЯ (SOURCE.StudentID, SOURCE.StudentName, SOURCE.Marks) ЕСЛИ НЕ СООТВЕТСТВУЕТ ИСТОЧНИКУ, ТО УДАЛИТЕ
Вывод
Студенческий билет | Имя студента | Метки |
один | Я ненавижу | 87 |
2 | Манаса | 92 |
4 | Анай | 74 |
ВЫБРАТЬ
В Оператор SELECT используется для выбора данных из базы данных, таблицы или представления. Возвращенные данные сохраняются в таблице результатов, называемой набор результатов .
Синтаксис
SELECT Column1, Column2, ... ColumN FROM TableName - (*) используется для выбора всего из таблицы SELECT * FROM table_name - Чтобы выбрать количество возвращаемых записей, используйте: SELECT TOP 3 * FROM TableName
пример
- Чтобы выбрать несколько столбцов SELECT StudentID, StudentName FROM StudentsInfo - (*) используется для выбора всего из таблицы SELECT * FROM StudentsInfo - Чтобы выбрать количество возвращаемых записей, используйте: SELECT TOP 3 * FROM StudentsInfo
Мы также можем использовать следующие ключевые слова с оператором SELECT:
ОТЛИЧИТЕЛЬНЫЙ
Ключевое слово DISTINCT используется с оператором SELECT для возврата только разных значений.
Синтаксис
ВЫБРАТЬ DISTINCT Столбец1, Столбец2, ... СтолбецN ИЗ ИмяТаблицы
пример
ВЫБЕРИТЕ РАЗЛИЧНЫЙ НОМЕР ТЕЛЕФОНА ИЗ StudentInfo
СОРТИРОВАТЬ ПО
Этот оператор используется для сортировки требуемых результатов в порядке возрастания или убывания. По умолчанию результаты сохраняются в порядке возрастания. Тем не менее, если вы хотите получить результаты в порядке убывания, вы должны использовать DESC ключевое слово.
Синтаксис
ВЫБРАТЬ Column1, Column2, ... ColumnN FROM TableName ORDER BY Column1, Column2, ... ASC | DESC
пример
- Выберите всех учащихся из таблицы «StudentInfo», отсортированных по ParentName: ВЫБРАТЬ * FROM StudentsInfo ORDER BY ParentName - Выберите всех учащихся из таблицы «StudentInfo», отсортированных по ParentName в порядке убывания: SELECT * FROM StudentsInfo ORDER BY ParentName DESC - Выберите всех студентов из таблицы «StudentInfo», отсортированных по ParentName и StudentName: SELECT * FROM StudentsInfo ORDER BY ParentName, StudentName / * Выберите всех учащихся из таблицы «StudentsInfo», отсортированных по ParentName в порядке убывания и StudentName в порядке возрастания: * / SELECT * ИЗ StudentInfo ЗАКАЗАТЬ ПО ParentName ASC, StudentName DESC
ГРУППА ПО
Этот оператор используется с агрегатные функции для группировки набора результатов по одному или нескольким столбцам.
Синтаксис
ВЫБЕРИТЕ Column1, Column2, ..., ColumnN FROM TableName WHERE Condition GROUP BY ColumnName (s) ORDER BY ColumnName (s)
пример
- Чтобы перечислить количество студентов из каждого города. ВЫБЕРИТЕ COUNT (StudentID), город ИЗ StudentsInfo ГРУППА ПО ГОРОДУ
НАБОРЫ ГРУППИРОВКИ
НАБОРЫ ГРУППИРОВКИ были введены в SQL Server 2008 и используются для создания набора результатов, который может быть сгенерирован СОЮЗ ВСЕ из нескольких простых предложений GROUP BY.
Синтаксис
ВЫБРАТЬ ИМЯ столбца ИЗ ГРУППЫ ИМЯ таблицы ПО НАБОРАМ ГРУППИРОВКИ (Имена столбца)
пример
ВЫБЕРИТЕ StudentID, StudentName, COUNT (City) из группы StudentsInfo ПО НАБОРУ ГРУППИРОВКИ ((StudentID, StudentName, City), (StudentID), (StudentName), (City))
ИМЕЕТ
Это предложение используется в сценарии, где Ключевое слово WHERE нельзя использовать.
Синтаксис
SELECT ColumnName (s) FROM TableName WHERE Condition GROUP BY ColumnName (s) HAVING Condition ORDER BY ColumnName (s)
пример
ВЫБЕРИТЕ СЧЕТЧИК (StudentID), Город ИЗ StudentsInfo ГРУППА ПО ГОРОДУ ИМЕЕТ COUNT (StudentID)> 2 ORDER BY COUNT (StudentID) DESC
В
Ключевое слово INTO можно использовать с Оператор SELECT для копирования данных из одной таблицы в другую. Что ж, вы можете понять, что эти таблицы являются временными таблицами. Временные таблицы обычно используются для выполнения манипуляций с данными, представленными в таблице, без нарушения исходной таблицы.
Синтаксис
ВЫБРАТЬ * В NewTable [IN ExternalDB] FROM OldTable WHERE Condition
пример
- Чтобы создать резервную копию таблицы «StudentsInfo» SELECT * INTO StudentsBackup FROM StudentsInfo - Чтобы выбрать только несколько столбцов из «StudentInfo», выберите «StudentName», «Номер телефона» INTO StudentsDetails FROM StudentsInfo SELECT * INTO PuneStudents FROM StudentsInfo WHERE City = 'Pune'
КУБ
CUBE - это расширение Предложение GROUP BY . Он позволяет генерировать промежуточные итоги для всех комбинаций группирующих столбцов, указанных в предложении GROUP BY.
Синтаксис
ВЫБРАТЬ ИМЯ столбца ИЗ ИМЯ таблицы ГРУППА ПО КУБУ (Имя столбца1, Имя столбца2, ....., Имя столбца)
пример
ВЫБЕРИТЕ StudentID, COUNT (Город) ИЗ StudentInfo ГРУППА ПО CUBE (StudentID) ЗАКАЗАТЬ ПО StudentID
СВЕРНУТЬ
ROLLUP является расширением предложения GROUP BY. Это позволяет вам включать дополнительные строки, представляющие промежуточные итоги. Они называются сверхагрегированными строками вместе со строкой общего итога.
Синтаксис
ВЫБРАТЬ ИМЯ столбца ИЗ ГРУППЫ ИМЯ таблицы ПО РОЛИКЕ (имя столбца1, имя столбца2, ....., имя столбца)
пример
ВЫБЕРИТЕ StudentID, COUNT (Город) ИЗ StudentInfo ГРУППА ПО ROLLUP (StudentID)
СМЕЩЕНИЕ
Предложение OFFSET используется с SELECT и ORDER BY заявление для получения ряда записей. Его необходимо использовать с предложением ORDER BY, поскольку его нельзя использовать отдельно. Кроме того, указанный диапазон должен быть больше или равен 0. Если вы укажете отрицательное значение, появится ошибка.
Синтаксис
SELECT ColumnNames) FROM TableName WHERE Condition ORDER BY ColumnName (s) OFFSET RowsToSkip ROWS
пример
Рассмотрим новую колонку Метки в СтудентыИнфо Таблица.
ВЫБЕРИТЕ StudentName, ParentName из StudentInfo ЗАПРОСИТЬ ПО отметкам СМЕЩЕНИЕ НА 1 СТРОКУ
ПОЛУЧИТЬ
Предложение FETCH используется для возврата набора из ряда строк. Его следует использовать вместе с предложением OFFSET.
Синтаксис
SELECT ColumnNames) FROM TableName WHERE Condition ORDER BY ColumnName (s) OFFSET RowsToSkip FETCH NEXT NumberOfRows ROWS ONLY
пример
ВЫБЕРИТЕ StudentName, ParentName из StudentInfo ЗАКАЗАТЬ ПО отметкам СМЕЩЕНИЕ 1 СТРОКА ВЫБРАТЬ ТОЛЬКО СЛЕДУЮЩУЮ 1 СТРОКУ
ВЕРХ
Предложение TOP используется с оператором SELECT, чтобы указать количество возвращаемых записей.
Синтаксис
ВЫБРАТЬ ВЕРХНЕЕ число Имя столбца ИЗ Имя таблицы ГДЕ Условие
пример
ВЫБЕРИТЕ ТОП 3 * ИЗ StudentInfo
PIVOT
PIVOT используется для преобразования строк в значения столбцов и при необходимости выполняет агрегирование для остальных значений столбцов.
Синтаксис
SELECT NonPivoted ColumnName, [First Pivoted ColumnName] AS ColumnName, [Second Pivoted ColumnName] AS ColumnName, [Third Pivoted ColumnName] AS ColumnName, ... [Last Pivoted ColumnName] AS ColumnName FROM (SELECT query that returns the data) AS [alias для начального запроса] PIVOT ([AggregationFunction] (ColumName) FOR [ColumnName столбца, значения которого станут заголовками столбцов] IN ([First Pivoted ColumnName], [Second Pivoted ColumnName], [Third Pivoted ColumnName] ... [last сводный столбец])) AS [псевдоним для сводной таблицы]
пример
Чтобы получить подробный пример, вы можете обратиться к моя статья о SQL PIVOT и UNPIVOT . Далее в этом руководстве по SQL Server мы рассмотрим различные операторы, поддерживаемые Microsoft SQL Server.
Операторы
В разные типы операторов SQL Server поддерживает следующие:
- Арифметические операторы
- Операторы присваивания
- Побитовые операторы
- Операторы сравнения
- Составные операторы
- Логические операторы
- Операторы разрешения области видимости
- Установить операторы
- Операторы конкатенации строк
Давайте обсудим каждую из них по очереди.
Арифметические операторы
Оператор | Смысл | Синтаксис |
+ | Дополнение | выражение + выражение |
- | Вычитание | выражение - выражение |
* | Умножение | выражение * выражение |
/ | Дивизион | выражение / выражение |
% | Модульный | выражение% выражение |
Операторы присваивания
Оператор | Смысл | Синтаксис |
знак равно | Присвойте значение переменной | переменная = «значение» |
Побитовые операторы
Оператор | Смысл | Синтаксис |
& (Побитовое И) | Используется для выполнения побитовой логической операции И между двумя целыми значениями. | выражение и выражение |
& = (Побитовое И присвоение) | Используется для выполнения побитовой логической операции И между двумя целыми значениями. Он также устанавливает значение для вывода операции. | выражение & = выражение |
| (Побитовое ИЛИ) | Используется для выполнения побитовой логической операции ИЛИ между двумя целочисленными значениями, преобразованными в двоичные выражения в операторах Transact-SQL. | выражение | выражение |
| = (Назначение побитового ИЛИ) | Используется для выполнения побитовой логической операции ИЛИ между двумя целочисленными значениями, преобразованными в двоичные выражения в операторах Transact-SQL. Он также устанавливает значение для вывода операции. | выражение | = выражение |
^ (Побитовое исключающее ИЛИ) | Используется для выполнения побитовой операции исключающего ИЛИ между двумя целыми значениями. | выражение ^ выражение |
^ = (Назначение побитового исключающего ИЛИ) | Используется для выполнения побитовой операции исключающего ИЛИ между двумя целыми значениями. Он также устанавливает значение для вывода операции. | выражение ^ = выражение |
~ (Побитовое НЕ) | Используется для выполнения побитовой операции логического НЕ над целочисленным значением. | ~ выражение |
Операторы сравнения
Оператор | Смысл | Синтаксис |
знак равно | Равно | выражение = выражение |
> | Лучше чем | выражение> выражение |
< | Меньше, чем | выражение |
> = | Больше или равно | выражение> = выражение |
<= | Меньше или равно | выражение<= expression |
Не равно | выражение выражение | |
знак равно | Не равно | выражение! = выражение |
!< | Не меньше чем | выражение! |
!> | Не больше чем | выражение!> выражение |
Составные операторы
Оператор | Смысл | Синтаксис |
+ = | Используется для добавления значения к исходному значению и установки исходного значения для результата. | выражение + = выражение |
знак равно | Используется для вычитания значения из исходного значения и установки исходного значения для результата. | выражение - = выражение |
знак равно | Используется для умножения значения на исходное значение и установки исходного значения на результат. | выражение * = выражение |
знак равно | Используется для разделения значения от исходного значения и установки исходного значения для результата. | выражение / = выражение |
знак равно | Используется для разделения значения от исходного значения и установки исходного значения для результата. | выражение% = выражение |
знак равно | Используется для выполнения побитовой операции И и установки исходного значения результата. | выражение & = выражение |
^ = | Используется для выполнения побитовой операции исключающего ИЛИ и установки исходного значения результата. | выражение ^ = выражение |
| = | Используется для выполнения побитовой операции ИЛИ и установки исходного значения для результата. | выражение | = выражение |
Логические операторы
Оператор | Смысл | Синтаксис |
ВСЕ | Возвращает ИСТИНА, если весь набор сравнений ИСТИНА. | scalar_expression! = ВСЕ (подзапрос) |
И | Возвращает ИСТИНА, если оба выражения ИСТИНА. | логическое_выражение И логическое_выражение |
ЛЮБЫЕ | Возвращает ИСТИНА, если какое-либо из сравнений истинно. | scalar_expression! = {ЛЮБОЙ} (подзапрос) |
МЕЖДУ | Возвращает ИСТИНА, если операнд находится в пределах диапазона. | sampleexpression [НЕ] МЕЖДУ НАЧАЛОМ ВЫРАЖЕНИЯ И ЗАЯВЛЕНИЕМ |
СУЩЕСТВУЮТ | Возвращает TRUE, если подзапрос содержит какие-либо строки. | СУЩЕСТВУЕТ (подзапрос) |
В | Возвращает ИСТИНА, если операнд равен одному из списка выражений. | тестовое_выражение [НЕ] IN (подзапрос | выражение [,… n]) |
Возвращает ИСТИНА, если операнд соответствует шаблону. | match_expression [НЕ] LIKE шаблон [ESCAPE escape_character] | |
НЕ | Изменяет значение любого логического оператора на противоположное. | [НЕ] логическое_выражение |
ИЛИ | Возвращает ИСТИНА, если любое из логических выражений ИСТИНА. | логическое_выражение ИЛИ логическое_выражение |
НЕМНОГО | Возвращает ИСТИНА, если некоторые из сравнений ИСТИНА. | скалярное_выражение<= { SOME} ( subquery ) |
Операторы разрешения области видимости
Оператор | Смысл | пример |
:: | Предоставляет доступ к статическим членам составного типа данных. Составные типы данных - это те типы данных, которые содержат несколько методов и простые типы данных. Составные типы данных К ним относятся встроенные типы CLR и пользовательские типы SQLCLR, определяемые пользователем (UDT). | ОБЪЯВИТЬ @hidierarchyid ВЫБРАТЬ @hid =ierarchyid :: GetRoot () PRINT @ hid.ToString () |
Установить операторы
В основном есть три операции над наборами:СОЮЗ,ПЕРЕСЕЧЕНИЕ,МИНУС. Вы можете обратиться к изображению ниже, чтобы понять операции с наборами в SQL. См. Изображение ниже:
Оператор | Смысл | Синтаксис |
СОЮЗ | Оператор UNION используется для объединения набора результатов из двух или более операторов SELECT. | ВЫБЕРИТЕ имена столбцов из таблицы1 СОЮЗ ВЫБЕРИТЕ имена столбцов из таблицы 2 |
ПЕРЕСЕЧЕНИЕ | Предложение INTERSECT используется для объединения двухВЫБРАТЬоператоры и возвращают пересечение наборов данных обоих операторов SELECT. | ВЫБРАТЬ Столбец1, Столбец2…. ОТ TableName ГДЕ Условие ПЕРЕСЕЧЕНИЕ ВЫБРАТЬ Столбец1, Столбец2…. ОТ TableName ГДЕ Условие |
КРОМЕ | Оператор EXCEPT возвращает те кортежи, которые возвращаются первой операцией SELECT и не возвращаются второй операцией SELECT. | ВЫБЕРИТЕ ColumnName ОТ TableName КРОМЕ ВЫБЕРИТЕ ColumnName ОТ TableName |
Строковые операторы
Оператор | Смысл | Синтаксис / пример |
+ (Конкатенация строк) | Объединяет две или более двоичных или символьных строк, столбцов или комбинации строк и имен столбцов в одно выражение | выражение + выражение |
+ = (Конкатенация строк) | Используется для объединения двух строк и устанавливает строку как результат операции. | выражение + = выражение |
% (Подстановочные знаки для соответствия) | Используется для сопоставления любой строки из нуля или более символов. | Пример: «образец%» |
[] (Подстановочные знаки для соответствия) | Используется для сопоставления одного символа в указанном диапазоне или наборе, указанном в скобках []. | Пример: m [n-z]% ’ |
[^] (Подстановочные знаки для соответствия) | Используется для сопоставления одиночного символа, который не входит в диапазон или набор, указанный в квадратных скобках. | Пример: ‘Al [^ a]%’ |
_ (Подстановочные знаки для соответствия) | Используется для сопоставления одного символа в операции сравнения строк | тестовое_выражение [НЕ] IN (подзапрос | выражение [,… n]) |
Совокупный Функции
Разные агрегатные функции SQL Server поддерживает следующие:
Функция | Описание | Синтаксис | пример |
СУММ () | Используется для возврата суммы группы значений. | ВЫБРАТЬ СУММУ (имя столбца) из имени таблицы | ВЫБЕРИТЕ СУММУ (баллы) ИЗ StudentInfo |
COUNT () | Возвращает количество строк на основе условия или без условия. | ВЫБРАТЬ СЧЕТ (имя столбца) ИЗ имя таблицы ГДЕ Условие | ВЫБЕРИТЕ КОЛИЧЕСТВО (StudentID) ИЗ StudentInfo |
AVG () | Используется для вычисления среднего значения числового столбца. | ВЫБРАТЬ СРЕДНЕЕ (имя столбца) из имени таблицы | ВЫБЕРИТЕ СРЕДНЕЕ (баллы) ОТ StudentInfo |
МИН () | Эта функция возвращает минимальное значение столбца. | ВЫБРАТЬ МИН (имя столбца) из имени таблицы | ВЫБЕРИТЕ МИНУЛЬ (баллов) ИЗ StudentInfo |
МАКСИМУМ() | Возвращает максимальное значение столбца. | ВЫБРАТЬ МАКС. (Имя столбца) из имени таблицы | ВЫБЕРИТЕ МАКСИМУМ (баллы) ИЗ StudentInfo |
ПЕРВЫЙ() | Используется для возврата первого значения столбца. | ВЫБРАТЬ ПЕРВЫЙ (имя столбца) из имени таблицы | ВЫБРАТЬ ПЕРВЫЙ (баллы) из StudentInfo |
ПОСЛЕДНИЙ() | Эта функция возвращает последнее значение столбца. | ВЫБРАТЬ ПОСЛЕДНЕЕ (имя столбца) из имени таблицы | ВЫБЕРИТЕ ПОСЛЕДНИЕ (оценки) ИЗ StudentInfo |
Пользовательские функции
Microsoft SQL Server позволяет пользователям создавать определяемые пользователем функции, которые являются подпрограммами. Эти процедуры принимают параметры, могут выполнять простые и сложные действия и возвращать результат этого конкретного действия в виде значения. Здесь возвращаемое значение может быть либо одним скалярным значением, либо полным набором результатов.
Вы можете использовать пользовательские функции, чтобы:
- Разрешить модульное программирование
- Уменьшите сетевой трафик
- Разрешить более быстрое выполнение запросов
Кроме того, вы можете создавать различные типы пользовательских функций. Они есть:
- Скалярные функции: Использовал квернуть одно значение данных типа, определенного в предложении RETURNS.
- Табличные функции: Использовал квернутьТаблицатип данных.
- Системные функции: SQL Server предоставляет множество системных функций для выполнения различных операций.
Ну, помимо пользовательских функций, в SQL Server есть множество встроенных функций, которые можно использовать для выполнения множества задач. Продолжая эту статью об учебнике по SQL Server, давайте теперь разберемся, что такое вложенные запросы.
Вложенные запросы
Вложенные запросы это те запросы, которые имеют внешний запрос и внутренний подзапрос. Итак, в основном подзапрос - это запрос, который вложен в другой запрос, такой как SELECT, INSERT, UPDATE или DELETE. См. Изображение ниже:
Далее в этом руководстве по SQL Server давайте разберемся с различными типами соединений в SQL.
Присоединяется
используются для объединения кортежей из двух или более таблиц на основе связанного столбца между таблицами. Есть четыре типа соединений:
- ВНУТРЕННЕЕ СОЕДИНЕНИЕ: Возвращает записи, значения которых совпадают в обеих таблицах.
- LEFT JOIN: Возвращает записи из левой таблицы, а также те записи, которые удовлетворяют условию из правой таблицы.
- ПРАВИЛЬНОЕ СОЕДИНЕНИЕ: Возвращает записи из правой таблицы, а также те записи, которые удовлетворяют условию из левой таблицы.
- ПОЛНОЕ СОЕДИНЕНИЕ: Возвращает записи, совпадающие в левой или правой таблице.
Чтобы понять синтаксис объединений, рассмотрите следующую таблицу вместе с таблицей StudentInfo.
SubjectID | Студенческий билет | SubjectName |
10 | 10 | Математика |
2 | 11 | Физика |
3 | 12 | Химия |
ВНУТРЕННЕЕ СОЕДИНЕНИЕ
Синтаксис
ВЫБЕРИТЕ имена столбцов ИЗ Table1 ВНУТРЕННЕЕ СОЕДИНЕНИЕ Table2 ON Table1.ColumnName = Table2.ColumnName
пример
ВЫБЕРИТЕ Subjects.SubjectID, StudentsInfo.StudentName FROM Subjects ВНУТРЕННЕЕ СОЕДИНЕНИЕ StudentInfo ON Subjects.StudentID = StudentsInfo.StudentID
LEFT JOIN
Синтаксис
ВЫБЕРИТЕ имена столбцов ИЗ Table1 LEFT JOIN Table2 ON Table1.ColumnName = Table2.ColumnName
пример
ВЫБЕРИТЕ StudentsInfo.StudentName, Subjects.SubjectID из StudentsInfo ЛЕВЫЙ ПРИСОЕДИНЯЙТЕСЬ к темам на сайте StudentsInfo.SubjectID = Subjects.SubjectID ЗАКАЗАТЬ ПО StudentInfo.StudentName
ПРАВО ПРИСОЕДИНИТЬСЯ
Синтаксис
ВЫБЕРИТЕ имена столбцов ИЗ Table1 RIGHT JOIN Table2 ON Table1.ColumnName = Table2.ColumnName
пример
ВЫБЕРИТЕ StudentsInfo.StudentName, Subjects.SubjectID из StudentsInfo ПРАВИЛЬНО ПРИСОЕДИНЯЙТЕСЬ к темам на сайте StudentsInfo.SubjectID = Subjects.SubjectID ЗАКАЗАТЬ ПО StudentInfo.StudentName
ПОЛНОЕ СОЕДИНЕНИЕ
Синтаксис
ВЫБЕРИТЕ имена столбцов ИЗ Table1 FULL OUTER JOIN Table2 ON Table1.ColumnName = Table2.ColumnName
пример
ВЫБЕРИТЕ StudentInfo.StudentName, Subjects.SubjectID ИЗ StudentsInfo ПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ Предметы на сайте StudentsInfo.SubjectID = Subjects.SubjectID ЗАКАЗ ПО StudentInfo.StudentName
Далее, в этой статье о SQL Server, давайте разберемся с различными типами циклов, поддерживаемых SQL Server.
Петли
Различные команды управления потоком следующие:
Давайте обсудим каждую из них по очереди.
НАЧАТЬ..END
Эти ключевые слова используются для включения ряда операторов SQL. Затем эта группа операторов SQL может быть выполнена.
Синтаксис
BEGIN StatementBlock END
ПЕРЕРЫВ
Этот оператор используется для выхода из текущего цикла WHILE. В случае, если текущий цикл WHILE вложен внутрь другого цикла, тогда оператор BREAK выходит только из текущего цикла, и управление передается следующему оператору в текущем цикле. Оператор BREAK обычно используется внутри оператора IF.
Синтаксис
ПЕРЕРЫВ
ПРОДОЛЖАТЬ
Оператор CONTINUE используется для перезапуска цикла WHILE. Таким образом, любые инструкции после ключевого слова CONTINUE будут проигнорированы.
Синтаксис
ПРОДОЛЖАТЬ
Здесь Label - это точка, после которой начинается обработка, если GOTO нацелен на эту конкретную метку.
ПЕРЕЙТИ К
Используется для изменения потока выполнения метки. Операторы, написанные после ключевого слова GOTO, пропускаются, и обработка продолжается с метки.
Синтаксис
Определить метку: Метка: Изменить выполнение: GOTO Label
Здесь Label - это точка, после которой начинается обработка, если GOTO нацелен на эту конкретную метку.
ЕСЛИ ЕЩЕ
Как и любой другой язык программирования, оператор If-else в SQL Server проверяет условие, и если условие ложно, то выполняется оператор else.
Синтаксис
IF BooleanExpression StatementBlock [ELSE StatementBlock]
ВЕРНУТЬ
Используется для безоговорочного выхода из запроса или процедуры. Таким образом, операторы, написанные после предложения RETURN, не выполняются.
Синтаксис
ВОЗВРАТ [Целочисленное выражение]
Здесь возвращается целочисленное значение.
ЖДАТЬ
Поток управления WAITFOR используется для блокировки выполнения хранимой процедуры, транзакции или пакета до тех пор, пока конкретный оператор не изменится, не вернет хотя бы одну строку или не истечет заданное время или интервал времени.
Синтаксис
WAITFOR (GetConversionGroupStatement)] [, таймаут TIMEOUT]
где,
- ЗАДЕРЖКА - Период времени, который должен пройти
- TimeToPass - Пвремя ждать
- ВРЕМЯ - Theвремя, когда выполняется хранимая процедура, транзакция или пакет.
- TimeToExecute - Theвремя окончания оператора WAITFOR.
- RecieveStatement - Кдействительный оператор RECEIVE.
- GetConversionGroupStatement - Кдействительный оператор GET CONVERSATION GROUP.
- Тайм-аут тайм-аут - Задает период времени в миллисекундах, в течение которого сообщение поступит в очередь.
В ТО ВРЕМЯ КАК
Этот цикл используется для установки условия для повторного выполнения определенного оператора SQL или блока операторов SQL. Операторы выполняются, пока условие, упомянутое пользователем, истинно. Как только условие не выполняется, цикл прекращает выполнение.
Синтаксис
WHILE BooleanExpression StatementBlock
Теперь, когда вы знаете команды DML, перейдем к следующему разделу.в этой статье о SQL Tutorial, т.е. о командах DCL.
Команды языка управления данными (DCL)
Этот раздел руководства по SQL Server даст вам представление о командах, которые используются для обеспечения безопасности базы данных в средах с несколькими пользователями. Команды следующие:
ГРАНТ
Команда GRANT используется для предоставления пользователям доступа или привилегий к базе данных и ее объектам.
Синтаксис
ПРЕДОСТАВИТЬ PrivilegeName НА ObjectName TO RoleName [С ОПЦИЕЙ GRANT]
где,
- PrivilegeName - Предоставляются ли пользователю привилегия / право / доступ.
- ObjectName - Имя объекта базы данных, например TABLE / VIEW / STORED PROC.
- Имя пользователя - Имя пользователя, которому предоставлены доступ / права / привилегии.
- ОБЩЕСТВЕННЫЙ - Предоставить права доступа всем пользователям.
- RoleName - Название сгруппированного набора привилегий.
- С ОПЦИЕЙ ГРАНТА - Чтобы предоставить пользователю доступ, чтобы предоставить другим пользователям права.
пример
- Предоставить разрешение SELECT для таблицы StudentInfo пользователю user1 GRANT SELECT ON StudentInfo TO пользователю1
ОТЗЫВ
Команда REVOKE используется для отзыва привилегий доступа пользователя, предоставленных с помощью команды GRANT.
Синтаксис
ОТЗЫВАТЬ PrivilegeName НА ObjectName ОТ PUBLIC
пример
- Чтобы отозвать предоставленное разрешение от пользователя user1 ОТМЕНА ВЫБРАТЬ ДЛЯ StudentInfo TO user1
Продолжая изучение этого руководства по SQL Server, давайте разберемся, как создавать и использовать хранимые процедуры.
Хранимые процедуры
Хранимые процедуры многоразовые блоки, которые инкапсулируют определенную бизнес-логику приложения. Итак, это группа операторов и логики SQL, скомпилированные и сохраненные вместе для выполнения определенной задачи.
Синтаксис
CREATE [OR REPLACE] PROCEDURE имя_процедуры [(имя_параметра [IN | OUT | IN OUT] type [])] IS BEGIN [объявление_section] исполняемый_section // оператор SQL, используемый в хранимой процедуре END GO
пример
--Создайте процедуру, которая будет возвращать имя студента, когда StudentId задается в качестве входного параметра для хранимой процедуры Create PROCEDURE GetStudentName (@StudentId INT, --Input parameter, @StudName VARCHAR (50) OUT --Output parameter, AS НАЧАТЬ ВЫБРАТЬ @StudName = StudentName FROM StudentsInfo ГДЕ StudentID = @ StudentId КОНЕЦ
Шаги для выполнения:
- Объявите @StudName как nvarchar (50)
- EXEC GetStudentName 01, вывод @StudName
- ВЫБЕРИТЕ @StudName
Вышеупомянутая процедура возвращает имя конкретного студента,при предоставлении этого идентификатора студента в качестве ввода. Далее в этом руководстве по SQL Server давайте разберемся с командами языка управления транзакциями.
Команды языка управления транзакциями (TCL)
Этот раздел руководства по SQL Server даст вам представление о командах, которые используются для управления транзакциями в базе данных.Команды следующие:
COMMIT
Команда COMMIT используется для сохранения транзакции в базе данных.
Синтаксис
COMMIT
ОТКАТ
Команда ROLLBACK используется для восстановления базы данных до последнего зафиксированного состояния.
Синтаксис
ОТКАТ
НОТА: Когда вы используете ROLLBACK с SAVEPOINT, вы можете напрямую перейти к точке сохранения в текущей транзакции. Синтаксис: ROLLBACK TO SavepointName
SAVEPOINT
Команда SAVEPOINT используется для временного сохранения транзакции. Поэтому, если вы хотите вернуться к любой точке, вы можете сохранить эту точку как «SAVEPOINT».
Синтаксис
как установить шеф-сервер
SAVEPOINT SAVEPOINTNAME
Рассмотрите приведенную ниже таблицу, чтобы понять работу транзакций в базе данных.
Студенческий билет | Имя студента |
один | Рохит |
2 | Сухана |
3 | Ашиш |
4 | Prerna |
Теперь используйте нижеприведенный чтобы понять транзакции в базе данных.
ВСТАВИТЬ ЗНАЧЕНИЯ StudentTable (5, 'Avinash') COMMIT UPDATE StudentTable SET name = 'Akash' WHERE id = '5' СОХРАНИТЬ S1 ВСТАВИТЬ В ЗНАЧЕНИЯ StudentTable (6, 'Sanjana') SAVEPOINT S2 ВСТАВИТЬ В StudentTable VALUES (7, '' Sanjay ') SAVEPOINT S3 INSERT INTO StudentTable ЗНАЧЕНИЯ (8,' Veena ') SAVEPOINT S4 SELECT * FROM StudentTable
Далее в этой статье, посвященной SQL Server, мы поймем, как обрабатывать исключения в Transact-SQL.
Обработка исключений
Есть два типа исключений, т. Е. Системные исключения и определяемые пользователем исключения. Как следует из названия, обработка исключений - это процесс, посредством которого пользователь может обрабатывать сгенерированные исключения. Чтобы обрабатывать исключения, вы должны понимать следующие операторы потока управления:
БРОСИТЬ
Это предложение используется для создания исключения и передачи выполнения в блок CATCH конструкции TRY… CATCH.
Синтаксис
THROW [ErrorNumber, @localvariable, State] []
где,
- ErrorNumber - Кконстанта или переменная, представляющая исключение.
- Сообщение - Кпеременная или строка, описывающая исключение.
- государство -Константа или переменная от 0 до 255, указывающая состояние, связанное с сообщением.
THROW 51000, 'Запись не существует.', 1
ПОПРОБУЙ ПОЙМАТЬ
Используется для реализации обработки исключений в Transact-SQL. Группа операторов может быть заключена в блок TRY. В случае возникновения ошибки в блоке TRY управление передается другой группе операторов, которые заключены в блок CATCH.
Синтаксис
BEGIN TRY StatementBlock END TRY BEGIN CATCH [StatementBlock] END CATCH []
НАЧАТЬ ПОПРОБОВАТЬ ВЫБРАТЬ * ИЗ СООБЩЕСТВЛЕНИЯ СТУДЕНТОВ КОНЕЦ ПОПРОБОВАТЬ НАЧАТЬ ВЫБРАТЬ ВЫБРАТЬ ERROR_NUMBER () как ErNum, ERROR_MESSAGE () как ErMsg END CATCH
В На этом мы подошли к концу статьи о SQL Server Tutorial. Надеюсь, вам понравилось читать эту статью о SQL Server Tutorial для начинающих.я Если вы хотите пройти структурированное обучение работе с MySQL, ознакомьтесь с нашими который включает в себя живое обучение под руководством инструктора и реальный проектный опыт. Этот тренинг поможет вам глубже понять MySQL и достичь мастерства в этой области. Есть вопрос к нам? Пожалуйста, отметьте это в разделе комментариев ' Учебник по SQL Server »И я вернусь к вам.