Mysql isnull() function
Содержание:
- Как узнать лимит по кредитной карте Тинькофф?
- Веб-сайт для создания приложений (клиентских приложений SQL)Build-an-app website, for SQL client development
- Как поставить длинное тире в Ворде — 6 способов
- Функции CASE, IF, IFNULL, COALESCE
- SQL Справочник
- Операторы фильтрации
- Пример — использование IS NULL с оператором DELETE
- Допустим, что вы дошли до этого момента
- SQL References
- JOIN-соединения – операции горизонтального соединения данных
- Как пользоваться угольником свенсона
Как узнать лимит по кредитной карте Тинькофф?
Веб-сайт для создания приложений (клиентских приложений SQL)Build-an-app website, for SQL client development
На нашем веб-сайте для создания приложений можно выбрать один из длинного списка языков программирования для подключения к SQL Server.On our Build-an-app webpages, you can choose from a long list of programming languages for connecting to SQL Server. Клиентская программа может работать с различными операционными системами.And your client program can run a variety of operating systems.
Веб-сайт для создания приложений уделяет особое внимание простоте и доступности функций для начинающих разработчиков.Build-an-app emphasizes simplicity and completeness for the developer who is just getting started. Приведенные ниже шаги показывают, как это сделать.The steps explain the following tasks:
- Установка Microsoft SQL ServerHow to install Microsoft SQL Server
- Скачивание и установка средств и драйверов.How to download and install tools and drivers.
- Осуществление необходимых настроек в соответствии с выбранной операционной системой.How to make any necessary configurations, as appropriate for your chosen operating system.
- Компиляция предоставленного исходного кода.How to compile the provided source code.
- Как запустить программу.How to run the program.
Далее представлено несколько приблизительных разделов с описаниями, содержащихся на веб-сайте.Next are a couple approximate outlines of the detail provided on the website:
Java в UbuntuJava on Ubuntu
-
Настройка средыSet up your environment
- Шаг 1.1. Установка SQL ServerStep 1.1 Install SQL Server
- Шаг 1.2. Установка Java.Step 1.2 Install Java
- Шаг 1.3. Установка пакета средств разработки Java (JDK).Step 1.3 Install the Java Development Kit (JDK)
- Шаг 1.4. Установка Maven.Step 1.4 Install Maven
-
Создание приложения Java с помощью SQL Server.Create Java application with SQL Server
- Шаг 2.1. Создание приложения Java, которое подключается к SQL Server и выполняет запросы.Step 2.1 Create a Java app that connects to SQL Server and executes queries
- Шаг 2.2. Создание приложения Java, которое подключается к SQL Server с помощью популярной платформы Hibernate.Step 2.2 Create a Java app that connects to SQL Server using the popular framework Hibernate
-
Ускорение работы приложения Java в 100 раз.Make your Java app up to 100x faster
Шаг 3.1. Создание приложения Java для демонстрации индексов Columnstore.Step 3.1 Create a Java app to demonstrate Columnstore indexes
Python в WindowsPython on Windows
-
Настройка средыSet up your environment
- Шаг 1.1. Установка SQL ServerStep 1.1 Install SQL Server
- Шаг 1.2. Установка Python.Step 1.2 Install Python
- Шаг 1.3. Установка драйвера ODBC и служебной программы командной строки SQL для SQL Server.Step 1.3 Install the ODBC Driver and SQL Command Line Utility for SQL Server
-
Создание приложения Python с помощью SQL Server.Create Python application with SQL Server
- Шаг 2.1. Установка драйвера Python для SQL Server.Step 2.1 Install the Python driver for SQL Server
- Шаг 2.2. Создание базы данных для приложения.Step 2.2 Create a database for your application
- Шаг 2.3. Создание приложения Python, которое подключается к SQL Server и выполняет запросы.Step 2.3 Create a Python app that connects to SQL Server and executes queries
-
Ускорение работы приложения Python в 100 раз.Make your Python app up to 100x faster
- Шаг 3.1. Создание новой таблицы с 5 млн записей с помощью программы sqlcmd.Step 3.1 Create a new table with 5 million using sqlcmd
- Шаг 3.2. Создание приложения Python, которое запрашивает эту таблицу и измеряет затраченное время.Step 3.2 Create a Python app that queries this table and measures the time taken
- Шаг 3.3. Измерение времени, затрачиваемого на выполнение запроса.Step 3.3 Measure how long it takes to run the query
- Шаг 3.4. Добавление индекса columnstore в таблицу.Step 3.4 Add a columnstore index to your table
- Шаг 3.5. Измерение времени, затрачиваемого на выполнение запроса с индексом columnstore.Step 3.5 Measure how long it takes to run the query with a columnstore index
На следующих снимках экрана показано, как выглядит наш веб-сайт документации по разработке SQL.The following screenshots give you an idea of what our SQL development documentation website looks like.
Как поставить длинное тире в Ворде — 6 способов
В процессе работы в текстовом редакторе Word, у пользователей возникает вопрос, как сделать длинное тире в Ворде. Дело в том, что набрать длинное тире на клавиатуре не так уж просто, потому что на клавиатуре нет подходящей клавиши.
На клавиатуре есть клавиша для ввода знака «дефис» (точнее это даже не дефис, а «дефисоминус») расположенная в верхнем цифровом блоке, делящая клавишу со знаком нижнего подчеркивания (нижний дефис). Клавиша «минус» находится в отдельном цифровом блоке клавиатуры, расположенном в правой части изделия. Клавиши для среднего или длинного тире нет.
Из-за того, что знака «тире» нет на клавиатуре, многие пользователи вводят вместо него «дефис» или даже «минус», что вообще неправильно. «Минус» не должен использоваться в обычном тексте для разделения слов, это не математический пример или уравнение. Многие авторы используют совсем не те знаки, что положено делать, и даже не задумываются об этом.
При работе с важным документом, например, отчетом или дипломом, необходимо соблюдать правила орфографии и пунктуации русского языка.
В офисном редакторе Microsoft Word, в текст без проблем с помощью клавиши клавиатуры добавляются дефисы, программа автоматически переделывает дефис в среднее тире, при соблюдении некоторых условий. Для добавления в Word длинного тире придется использовать другие способы, инструкции о которых вы найдете в этой статье.
В начале, давайте разберемся, в каких случаях следует писать тире или дефис. Многие пользователи не обращают внимания на правильное написание тире и дефисов в тексте. А это ошибка и неправильно с точки зрения русской типографики. Посмотрите текст в любой книге, там правильно используется длинное тире и дефисы.
Функции CASE, IF, IFNULL, COALESCE
Последнее обновление: 26.05.2018
CASE
Функция CASE проверяет истинность набора условий и в зависимости от результата проверки может возвращать тот или иной результат.
Эта функция принимает следующую форму:
CASE WHEN условие_1 THEN результат_1 WHEN условие_2 THEN результат_2 ................................. WHEN условие_N THEN условие_N END
Возьмем для примера следующую таблицу Products:
CREATE TABLE Products ( Id INT AUTO_INCREMENT PRIMARY KEY, ProductName VARCHAR(30) NOT NULL, Manufacturer VARCHAR(20) NOT NULL, ProductCount INT DEFAULT 0, Price DECIMAL NOT NULL );
Выполним запрос к этой таблице и используем функцию CASE:
SELECT ProductName, ProductCount, CASE WHEN ProductCount = 1 THEN 'Товар заканчивается' WHEN ProductCount = 2 THEN 'Мало товара' WHEN ProductCount = 3 THEN 'Есть в наличии' ELSE 'Много товара' END AS Category FROM Products;
Функция IF
Функция IF в зависимости от результата условного выражения возвращает одно из двух значений. Общая форма функции выглядит
следующим образом:
IF(условие, значение_1, значение_2)
Если условие, передаваемое в качестве первого параметра, верно, то возвращается первое значение, иначе возвращается второе значение. Например:
SELECT ProductName, Manufacturer, IF(ProductCount > 3, 'Много товара', 'Мало товара') FROM Products;
IFNULL
Функция IFNULL проверяет значение некоторого выражения. Если оно равно NULL, то функция возвращает значение, которое передается в
качестве второго параметра:
IFNULL(выражение, значение)
Например, возьмем следующую таблицу
CREATE TABLE Clients ( Id INT AUTO_INCREMENT PRIMARY KEY, FirstName VARCHAR(20) NOT NULL, LastName VARCHAR(20) NOT NULL, Phone VARCHAR(20) NULL, Email VARCHAR(20) NULL ); INSERT INTO Clients (FirstName, LastName, Phone, Email) VALUES ('Tom', 'Smith', '+36436734', NULL), ('Bob', 'Simpson', NULL, NULL);
И применим при получении данных функцию IFNULL:
SELECT FirstName, LastName, IFNULL(Phone, 'не определено') AS Phone, IFNULL(Email, 'неизвестно') AS Email FROM Clients;
COALESCE
Функция COALESCE принимает список значений и возвращает первое из них, которое не равно NULL:
COALESCE(выражение_1, выражение_2, выражение_N)
Например, выберем из таблицы Clients пользователей и в контактах у них определим либо телефон, либо электронный адрес, если они не равны NULL:
SELECT FirstName, LastName, COALESCE(Phone, Email, 'не определено') AS Contacts FROM Clients;
То есть в данном случае возвращается телефон, если он определен. Если он не определен, то возвращается электронный адрес. Если и электронный адрес не определен, то возвращается строка «не определено».
Назад
SQL Справочник
SQL Ключевые слова
ADD
ADD CONSTRAINT
ALTER
ALTER COLUMN
ALTER TABLE
ALL
AND
ANY
AS
ASC
BACKUP DATABASE
BETWEEN
CASE
CHECK
COLUMN
CONSTRAINT
CREATE
CREATE DATABASE
CREATE INDEX
CREATE OR REPLACE VIEW
CREATE TABLE
CREATE PROCEDURE
CREATE UNIQUE INDEX
CREATE VIEW
DATABASE
DEFAULT
DELETE
DESC
DISTINCT
DROP
DROP COLUMN
DROP CONSTRAINT
DROP DATABASE
DROP DEFAULT
DROP INDEX
DROP TABLE
DROP VIEW
EXEC
EXISTS
FOREIGN KEY
FROM
FULL OUTER JOIN
GROUP BY
HAVING
IN
INDEX
INNER JOIN
INSERT INTO
INSERT INTO SELECT
IS NULL
IS NOT NULL
JOIN
LEFT JOIN
LIKE
LIMIT
NOT
NOT NULL
OR
ORDER BY
OUTER JOIN
PRIMARY KEY
PROCEDURE
RIGHT JOIN
ROWNUM
SELECT
SELECT DISTINCT
SELECT INTO
SELECT TOP
SET
TABLE
TOP
TRUNCATE TABLE
UNION
UNION ALL
UNIQUE
UPDATE
VALUES
VIEW
WHERE
MySQL Функции
Функции строк
ASCII
CHAR_LENGTH
CHARACTER_LENGTH
CONCAT
CONCAT_WS
FIELD
FIND_IN_SET
FORMAT
INSERT
INSTR
LCASE
LEFT
LENGTH
LOCATE
LOWER
LPAD
LTRIM
MID
POSITION
REPEAT
REPLACE
REVERSE
RIGHT
RPAD
RTRIM
SPACE
STRCMP
SUBSTR
SUBSTRING
SUBSTRING_INDEX
TRIM
UCASE
UPPER
Функции чисел
ABS
ACOS
ASIN
ATAN
ATAN2
AVG
CEIL
CEILING
COS
COT
COUNT
DEGREES
DIV
EXP
FLOOR
GREATEST
LEAST
LN
LOG
LOG10
LOG2
MAX
MIN
MOD
PI
POW
POWER
RADIANS
RAND
ROUND
SIGN
SIN
SQRT
SUM
TAN
TRUNCATE
Функции дат
ADDDATE
ADDTIME
CURDATE
CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURTIME
DATE
DATEDIFF
DATE_ADD
DATE_FORMAT
DATE_SUB
DAY
DAYNAME
DAYOFMONTH
DAYOFWEEK
DAYOFYEAR
EXTRACT
FROM_DAYS
HOUR
LAST_DAY
LOCALTIME
LOCALTIMESTAMP
MAKEDATE
MAKETIME
MICROSECOND
MINUTE
MONTH
MONTHNAME
NOW
PERIOD_ADD
PERIOD_DIFF
QUARTER
SECOND
SEC_TO_TIME
STR_TO_DATE
SUBDATE
SUBTIME
SYSDATE
TIME
TIME_FORMAT
TIME_TO_SEC
TIMEDIFF
TIMESTAMP
TO_DAYS
WEEK
WEEKDAY
WEEKOFYEAR
YEAR
YEARWEEK
Функции расширений
BIN
BINARY
CASE
CAST
COALESCE
CONNECTION_ID
CONV
CONVERT
CURRENT_USER
DATABASE
IF
IFNULL
ISNULL
LAST_INSERT_ID
NULLIF
SESSION_USER
SYSTEM_USER
USER
VERSION
SQL Server функции
Функции строк
ASCII
CHAR
CHARINDEX
CONCAT
Concat with +
CONCAT_WS
DATALENGTH
DIFFERENCE
FORMAT
LEFT
LEN
LOWER
LTRIM
NCHAR
PATINDEX
QUOTENAME
REPLACE
REPLICATE
REVERSE
RIGHT
RTRIM
SOUNDEX
SPACE
STR
STUFF
SUBSTRING
TRANSLATE
TRIM
UNICODE
UPPER
Функции чисел
ABS
ACOS
ASIN
ATAN
ATN2
AVG
CEILING
COUNT
COS
COT
DEGREES
EXP
FLOOR
LOG
LOG10
MAX
MIN
PI
POWER
RADIANS
RAND
ROUND
SIGN
SIN
SQRT
SQUARE
SUM
TAN
Функции дат
CURRENT_TIMESTAMP
DATEADD
DATEDIFF
DATEFROMPARTS
DATENAME
DATEPART
DAY
GETDATE
GETUTCDATE
ISDATE
MONTH
SYSDATETIME
YEAR
Функции расширений
CAST
COALESCE
CONVERT
CURRENT_USER
IIF
ISNULL
ISNUMERIC
NULLIF
SESSION_USER
SESSIONPROPERTY
SYSTEM_USER
USER_NAME
MS Access функции
Функции строк
Asc
Chr
Concat with &
CurDir
Format
InStr
InstrRev
LCase
Left
Len
LTrim
Mid
Replace
Right
RTrim
Space
Split
Str
StrComp
StrConv
StrReverse
Trim
UCase
Функции чисел
Abs
Atn
Avg
Cos
Count
Exp
Fix
Format
Int
Max
Min
Randomize
Rnd
Round
Sgn
Sqr
Sum
Val
Функции дат
Date
DateAdd
DateDiff
DatePart
DateSerial
DateValue
Day
Format
Hour
Minute
Month
MonthName
Now
Second
Time
TimeSerial
TimeValue
Weekday
WeekdayName
Year
Другие функции
CurrentUser
Environ
IsDate
IsNull
IsNumeric
SQL ОператорыSQL Типы данныхSQL Краткий справочник
Операторы фильтрации
Последнее обновление: 13.07.2017
Оператор IN
Оператор IN позволяет определить набор значений, которые должны иметь столбцы:
WHERE выражение IN (выражение)
Выражение в скобках после IN определяет набор значений. Этот набор может вычисляться динамически на основании, например, еще одного запроса, либо это могут быть константные значения.
Например, выберем товары, у которых производитель либо Samsung, либо Xiaomi, либо Huawei:
SELECT * FROM Products WHERE Manufacturer IN ('Samsung', 'Xiaomi', 'Huawei')
Мы могли бы все эти значения проверить и через оператор OR:
SELECT * FROM Products WHERE Manufacturer = 'Samsung' OR Manufacturer = 'Xiaomi' OR Manufacturer = 'Huawei'
Но использование оператора IN гораздо удобнее, особенно если подобных значений очень много.
С помощью оператора NOT можно найти все строки, которые, наоборот, не соответствуют набору значений:
SELECT * FROM Products WHERE Manufacturer NOT IN ('Samsung', 'Xiaomi', 'Huawei')
Оператор BETWEEN
Оператор BETWEEN определяет диапазон значений с помощью начального и конечного значения, которому должно соответствовать
выражение:
WHERE выражение BETWEEN начальное_значение AND конечное_значение
Например, получим все товары, у которых цена от 20 000 до 40 000 (начальное и конечное значения также включаются в диапазон):
SELECT * FROM Products WHERE Price BETWEEN 20000 AND 40000
Если надо, наоборот, выбрать те строки, которые не попадают в данный диапазон, то применяется оператор NOT:
SELECT * FROM Products WHERE Price NOT BETWEEN 20000 AND 40000
Также можно использовать более сложные выражения. Например, получим товары, запасы которых на определенную сумму (цена * количество):
SELECT * FROM Products WHERE Price * ProductCount BETWEEN 100000 AND 200000
Оператор LIKE
Оператор LIKE принимает шаблон строки, которому должно соответствовать выражение.
WHERE выражение LIKE шаблон_строки
Для определения шаблона могут применяться ряд специальных символов подстановки:
-
%: соответствует любой подстроке, которая может иметь любое количество символов, при этом подстрока может и не содержать ни одного символа
-
_: соответствует любому одиночному символу
-
: соответствует одному символу, который указан в квадратных скобках
-
: соответствует одному символу из определенного диапазона
-
: соответствует одному символу, который не указан после символа ^
Некоторые примеры использования подстановок:
-
Соответствует таким значениям как «Galaxy Ace 2» или «Galaxy S7»
-
Соответствует таким значениям как «Galaxy S7» или «Galaxy S8»
-
Соответствует таким значениям как «iPhone 7» или «iPhone8»
-
Соответствует таким значениям как «iPhone 6», «iPhone 7» или «iPhone8»
-
Соответствует таким значениям как «iPhone 6», «iPhone 6S» или «iPhone8». Но не соответствует значениям «iPhone 7» и «iPhone 7S»
-
Соответствует таким значениям как «iPhone 7», «iPhone 7S» и «iPhone 8». Но не соответствует значениям «iPhone 5», «iPhone 6» и «iPhone 6S»
Применим оператор LIKE:
SELECT * FROM Products WHERE ProductName LIKE 'iPhone %'
НазадВперед
Пример — использование IS NULL с оператором DELETE
Далее давайте рассмотрим пример использования условия IS NULL в операторе DELETE. В этом примере у нас есть таблица orders со следующими данными:
order_id | customer_id | order_date |
---|---|---|
1 | 7000 | 2019/06/18 |
2 | 5000 | 2019/06/18 |
3 | 8000 | 2019/06/19 |
4 | 4000 | 2019/06/20 |
5 | NULL | 2019/07/01 |
Введите следующий оператор DELETE:
PgSQL
DELETE FROM orders
WHERE customer_id IS NULL;
1 2 |
DELETEFROMorders WHEREcustomer_idISNULL; |
Будет удалена 1 запись. Снова выберите данные из таблицы orders:
PgSQL
SELECT *
FROM orders;
1 2 |
SELECT* FROMorders; |
Вот результаты, которые вы получите:
order_id | customer_id | order_date |
---|---|---|
1 | 7000 | 2019/06/18 |
2 | 5000 | 2019/06/18 |
3 | 8000 | 2019/06/19 |
4 | 4000 | 2019/06/20 |
В этом примере будут удалены все записи из таблицы orders, где customer_id содержит значение NULL. Как вы можете видеть, запрос удалил запись для order_id = 5.
Допустим, что вы дошли до этого момента
- Выбирать детальные данные по условию WHERE из одной таблицы
- Умеете пользоваться агрегатными функциями и группировкой из одной таблицы
ID | Name | Birthday | … | Salary | BonusPercent | DepartmentName | PositionName |
---|---|---|---|---|---|---|---|
1000 | Иванов И.И. | 19.02.1955 | 5000 | 50 | Администрация | Директор | |
1001 | Петров П.П. | 03.12.1983 | 1500 | 15 | ИТ | Программист | |
1002 | Сидоров С.С. | 07.06.1976 | 2500 | NULL | Бухгалтерия | Бухгалтер | |
1003 | Андреев А.А. | 17.04.1982 | 2000 | 30 | ИТ | Старший программист | |
1004 | Николаев Н.Н. | NULL | 1500 | NULL | ИТ | Программист | |
1005 | Александров А.А. | NULL | 2000 | NULL | NULL | NULL |
ID | Name | Birthday | … | Salary | BonusPercent | DepartmentName | PositionName |
---|---|---|---|---|---|---|---|
1000 | Иванов И.И. | 19.02.1955 | 5000 | 50 | Администрация | Директор | |
1001 | Петров П.П. | 03.12.1983 | 1500 | 15 | ИТ | Программист | |
1002 | Сидоров С.С. | 07.06.1976 | 2500 | NULL | Бухгалтерия | Бухгалтер | |
1003 | Андреев А.А. | 17.04.1982 | 2000 | 30 | ИТ | Старший программист | |
1004 | Николаев Н.Н. | NULL | 1500 | NULL | ИТ | Программист | |
1005 | Александров А.А. | NULL | 2000 | NULL | NULL | NULL |
DepartmentName | PositionCount | EmplCount | SalaryAmount | SalaryAvg |
---|---|---|---|---|
NULL | 1 | 2000 | 2000 | |
Администрация | 1 | 1 | 5000 | 5000 |
Бухгалтерия | 1 | 1 | 2500 | 2500 |
ИТ | 2 | 3 | 5000 | 1666.66666666667 |
ID | Name | Salary |
---|---|---|
1005 | Александров А.А. | 2000 |
1003 | Андреев А.А. | 2000 |
1000 | Иванов И.И. | 5000 |
1004 | Николаев Н.Н. | 1500 |
1001 | Петров П.П. | 1500 |
1002 | Сидоров С.С. | 2500 |
SQL References
SQL Keywords
ADD
ADD CONSTRAINT
ALTER
ALTER COLUMN
ALTER TABLE
ALL
AND
ANY
AS
ASC
BACKUP DATABASE
BETWEEN
CASE
CHECK
COLUMN
CONSTRAINT
CREATE
CREATE DATABASE
CREATE INDEX
CREATE OR REPLACE VIEW
CREATE TABLE
CREATE PROCEDURE
CREATE UNIQUE INDEX
CREATE VIEW
DATABASE
DEFAULT
DELETE
DESC
DISTINCT
DROP
DROP COLUMN
DROP CONSTRAINT
DROP DATABASE
DROP DEFAULT
DROP INDEX
DROP TABLE
DROP VIEW
EXEC
EXISTS
FOREIGN KEY
FROM
FULL OUTER JOIN
GROUP BY
HAVING
IN
INDEX
INNER JOIN
INSERT INTO
INSERT INTO SELECT
IS NULL
IS NOT NULL
JOIN
LEFT JOIN
LIKE
LIMIT
NOT
NOT NULL
OR
ORDER BY
OUTER JOIN
PRIMARY KEY
PROCEDURE
RIGHT JOIN
ROWNUM
SELECT
SELECT DISTINCT
SELECT INTO
SELECT TOP
SET
TABLE
TOP
TRUNCATE TABLE
UNION
UNION ALL
UNIQUE
UPDATE
VALUES
VIEW
WHERE
MySQL Functions
String Functions
ASCII
CHAR_LENGTH
CHARACTER_LENGTH
CONCAT
CONCAT_WS
FIELD
FIND_IN_SET
FORMAT
INSERT
INSTR
LCASE
LEFT
LENGTH
LOCATE
LOWER
LPAD
LTRIM
MID
POSITION
REPEAT
REPLACE
REVERSE
RIGHT
RPAD
RTRIM
SPACE
STRCMP
SUBSTR
SUBSTRING
SUBSTRING_INDEX
TRIM
UCASE
UPPER
Numeric Functions
ABS
ACOS
ASIN
ATAN
ATAN2
AVG
CEIL
CEILING
COS
COT
COUNT
DEGREES
DIV
EXP
FLOOR
GREATEST
LEAST
LN
LOG
LOG10
LOG2
MAX
MIN
MOD
PI
POW
POWER
RADIANS
RAND
ROUND
SIGN
SIN
SQRT
SUM
TAN
TRUNCATE
Date Functions
ADDDATE
ADDTIME
CURDATE
CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURTIME
DATE
DATEDIFF
DATE_ADD
DATE_FORMAT
DATE_SUB
DAY
DAYNAME
DAYOFMONTH
DAYOFWEEK
DAYOFYEAR
EXTRACT
FROM_DAYS
HOUR
LAST_DAY
LOCALTIME
LOCALTIMESTAMP
MAKEDATE
MAKETIME
MICROSECOND
MINUTE
MONTH
MONTHNAME
NOW
PERIOD_ADD
PERIOD_DIFF
QUARTER
SECOND
SEC_TO_TIME
STR_TO_DATE
SUBDATE
SUBTIME
SYSDATE
TIME
TIME_FORMAT
TIME_TO_SEC
TIMEDIFF
TIMESTAMP
TO_DAYS
WEEK
WEEKDAY
WEEKOFYEAR
YEAR
YEARWEEK
Advanced Functions
BIN
BINARY
CASE
CAST
COALESCE
CONNECTION_ID
CONV
CONVERT
CURRENT_USER
DATABASE
IF
IFNULL
ISNULL
LAST_INSERT_ID
NULLIF
SESSION_USER
SYSTEM_USER
USER
VERSION
SQL Server Functions
String Functions
ASCII
CHAR
CHARINDEX
CONCAT
Concat with +
CONCAT_WS
DATALENGTH
DIFFERENCE
FORMAT
LEFT
LEN
LOWER
LTRIM
NCHAR
PATINDEX
QUOTENAME
REPLACE
REPLICATE
REVERSE
RIGHT
RTRIM
SOUNDEX
SPACE
STR
STUFF
SUBSTRING
TRANSLATE
TRIM
UNICODE
UPPER
Numeric Functions
ABS
ACOS
ASIN
ATAN
ATN2
AVG
CEILING
COUNT
COS
COT
DEGREES
EXP
FLOOR
LOG
LOG10
MAX
MIN
PI
POWER
RADIANS
RAND
ROUND
SIGN
SIN
SQRT
SQUARE
SUM
TAN
Date Functions
CURRENT_TIMESTAMP
DATEADD
DATEDIFF
DATEFROMPARTS
DATENAME
DATEPART
DAY
GETDATE
GETUTCDATE
ISDATE
MONTH
SYSDATETIME
YEAR
Advanced Functions
CAST
COALESCE
CONVERT
CURRENT_USER
IIF
ISNULL
ISNUMERIC
NULLIF
SESSION_USER
SESSIONPROPERTY
SYSTEM_USER
USER_NAME
MS Access Functions
String Functions
Asc
Chr
Concat with &
CurDir
Format
InStr
InstrRev
LCase
Left
Len
LTrim
Mid
Replace
Right
RTrim
Space
Split
Str
StrComp
StrConv
StrReverse
Trim
UCase
Numeric Functions
Abs
Atn
Avg
Cos
Count
Exp
Fix
Format
Int
Max
Min
Randomize
Rnd
Round
Sgn
Sqr
Sum
Val
Date Functions
Date
DateAdd
DateDiff
DatePart
DateSerial
DateValue
Day
Format
Hour
Minute
Month
MonthName
Now
Second
Time
TimeSerial
TimeValue
Weekday
WeekdayName
Year
Other Functions
CurrentUser
Environ
IsDate
IsNull
IsNumeric
SQL Quick Ref
JOIN-соединения – операции горизонтального соединения данных
Если суть РДБ – разделяй и властвуй, то суть операций объединений снова склеить разбитые по таблицам данные, т.е. привести их обратно в человеческий вид.
- JOIN – левая_таблица JOIN правая_таблица ON условия_соединения
- LEFT JOIN – левая_таблица LEFT JOIN правая_таблица ON условия_соединения
- RIGHT JOIN – левая_таблица RIGHT JOIN правая_таблица ON условия_соединения
- FULL JOIN – левая_таблица FULL JOIN правая_таблица ON условия_соединения
- CROSS JOIN – левая_таблица CROSS JOIN правая_таблица
Краткий синтаксис | Полный синтаксис | Описание (Это не всегда всем сразу понятно. Так что, если не понятно, то просто вернитесь сюда после рассмотрения примеров.) |
---|---|---|
JOIN | INNER JOIN | Из строк левой_таблицы и правой_таблицы объединяются и возвращаются только те строки, по которым выполняются условия_соединения. |
LEFT JOIN | LEFT OUTER JOIN | Возвращаются все строки левой_таблицы (ключевое слово LEFT). Данными правой_таблицы дополняются только те строки левой_таблицы, для которых выполняются условия_соединения. Для недостающих данных вместо строк правой_таблицы вставляются NULL-значения. |
RIGHT JOIN | RIGHT OUTER JOIN | Возвращаются все строки правой_таблицы (ключевое слово RIGHT). Данными левой_таблицы дополняются только те строки правой_таблицы, для которых выполняются условия_соединения. Для недостающих данных вместо строк левой_таблицы вставляются NULL-значения. |
FULL JOIN | FULL OUTER JOIN | Возвращаются все строки левой_таблицы и правой_таблицы. Если для строк левой_таблицы и правой_таблицы выполняются условия_соединения, то они объединяются в одну строку. Для строк, для которых не выполняются условия_соединения, NULL-значения вставляются на место левой_таблицы, либо на место правой_таблицы, в зависимости от того данных какой таблицы в строке не имеется. |
CROSS JOIN | — | Объединение каждой строки левой_таблицы со всеми строками правой_таблицы. Этот вид соединения иногда называют декартовым произведением. |
- Это короче и не засоряет запрос лишними словами;
- По словам LEFT, RIGHT, FULL и CROSS и так понятно о каком соединении идет речь, так же и в случае просто JOIN;
- Считаю слова INNER и OUTER в данном случае ненужными рудиментами, которые больше путают начинающих.
ID | Name | DepartmentID | ID | Name |
---|---|---|---|---|
1000 | Иванов И.И. | 1 | 1 | Администрация |
1001 | Петров П.П. | 3 | 3 | ИТ |
1002 | Сидоров С.С. | 2 | 2 | Бухгалтерия |
1003 | Андреев А.А. | 3 | 3 | ИТ |
1004 | Николаев Н.Н. | 3 | 3 | ИТ |
ID | Name | DepartmentID | ID | Name |
---|---|---|---|---|
1000 | Иванов И.И. | 1 | 1 | Администрация |
1001 | Петров П.П. | 3 | 3 | ИТ |
1002 | Сидоров С.С. | 2 | 2 | Бухгалтерия |
1003 | Андреев А.А. | 3 | 3 | ИТ |
1004 | Николаев Н.Н. | 3 | 3 | ИТ |
1005 | Александров А.А. | NULL | NULL | NULL |
ID | Name | DepartmentID | ID | Name |
---|---|---|---|---|
1000 | Иванов И.И. | 1 | 1 | Администрация |
1002 | Сидоров С.С. | 2 | 2 | Бухгалтерия |
1001 | Петров П.П. | 3 | 3 | ИТ |
1003 | Андреев А.А. | 3 | 3 | ИТ |
1004 | Николаев Н.Н. | 3 | 3 | ИТ |
NULL | NULL | NULL | 4 | Маркетинг и реклама |
NULL | NULL | NULL | 5 | Логистика |
ID | Name | DepartmentID | ID | Name |
---|---|---|---|---|
1000 | Иванов И.И. | 1 | 1 | Администрация |
1001 | Петров П.П. | 3 | 3 | ИТ |
1002 | Сидоров С.С. | 2 | 2 | Бухгалтерия |
1003 | Андреев А.А. | 3 | 3 | ИТ |
1004 | Николаев Н.Н. | 3 | 3 | ИТ |
1005 | Александров А.А. | NULL | NULL | NULL |
NULL | NULL | NULL | 4 | Маркетинг и реклама |
NULL | NULL | NULL | 5 | Логистика |
ID | Name | DepartmentID | ID | Name |
---|---|---|---|---|
1000 | Иванов И.И. | 1 | 1 | Администрация |
1001 | Петров П.П. | 3 | 1 | Администрация |
1002 | Сидоров С.С. | 2 | 1 | Администрация |
1003 | Андреев А.А. | 3 | 1 | Администрация |
1004 | Николаев Н.Н. | 3 | 1 | Администрация |
1005 | Александров А.А. | NULL | 1 | Администрация |
1000 | Иванов И.И. | 1 | 2 | Бухгалтерия |
1001 | Петров П.П. | 3 | 2 | Бухгалтерия |
1002 | Сидоров С.С. | 2 | 2 | Бухгалтерия |
1003 | Андреев А.А. | 3 | 2 | Бухгалтерия |
1004 | Николаев Н.Н. | 3 | 2 | Бухгалтерия |
1005 | Александров А.А. | NULL | 2 | Бухгалтерия |
1000 | Иванов И.И. | 1 | 3 | ИТ |
1001 | Петров П.П. | 3 | 3 | ИТ |
1002 | Сидоров С.С. | 2 | 3 | ИТ |
1003 | Андреев А.А. | 3 | 3 | ИТ |
1004 | Николаев Н.Н. | 3 | 3 | ИТ |
1005 | Александров А.А. | NULL | 3 | ИТ |
1000 | Иванов И.И. | 1 | 4 | Маркетинг и реклама |
1001 | Петров П.П. | 3 | 4 | Маркетинг и реклама |
1002 | Сидоров С.С. | 2 | 4 | Маркетинг и реклама |
1003 | Андреев А.А. | 3 | 4 | Маркетинг и реклама |
1004 | Николаев Н.Н. | 3 | 4 | Маркетинг и реклама |
1005 | Александров А.А. | NULL | 4 | Маркетинг и реклама |
1000 | Иванов И.И. | 1 | 5 | Логистика |
1001 | Петров П.П. | 3 | 5 | Логистика |
1002 | Сидоров С.С. | 2 | 5 | Логистика |
1003 | Андреев А.А. | 3 | 5 | Логистика |
1004 | Николаев Н.Н. | 3 | 5 | Логистика |
1005 | Александров А.А. | NULL | 5 | Логистика |
Как пользоваться угольником свенсона
Примеры выполнения различных работ:
- Нанесение перпендикуляров. Используя уголок, на деталь рисуются расположенные к её краю под прямым углом линии. Инструмент держится непосредственно с краю досок, его заострённая часть укажет расположение линии, прямая линия рисуется при помощи квадратной части приспособления.
- Проверка соединения заготовок под прямым углом. Выполняется простым прикладыванием прибора к элементам для измерения правильности углов. Часто применяется при изготовлении и сборке мебели.
- Прочерчивание линий под углом 45°. Такой угол в равнобедренном треугольнике (каким является инструмент) будет между любым краем доски и его диагональю. Поэтому после прикладывания к краю детали квадратной стороны угольника просто прочерчивается искомая линия.
- Рисование параллельных линий. Инструмент прикладывается к краю детали, замеряется необходимое расстояние (например, часть которую нужно отрезать), угольник двигается по краю доски до нанесённой отметки, карандаш держится на первоначальном уровне. Так можно нанести линию параллельно краю заготовки.
- Чтение и нанесение различных углов. За точку опоры берётся прямой угол прибора, на его гипотенузе находится градусная разметка. На нужном значении делается карандашная отметка и с использованием квадратной стороны угольника проводится нужная линия.
- Направление резки циркульной пилой. Угольник укладывается на доску плашмя, закрепляется струбциной или специальным зажимом, резка выполняется параллельно катету прибора.
- Угольник можно использовать в качестве обычной линейки для замера нужных размеров.
Вещь является специфической и больше нужна специалистам для облегчения и удобства выполнения больших объёмов работ. Цена фирменных образцов довольно высока, поэтому делать такую покупку или нет, решать вам.
Смотрите видео как пользоваться угольником свенсона: