Mysql isnull() function

Как узнать лимит по кредитной карте Тинькофф?

Веб-сайт для создания приложений (клиентских приложений 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:

  1. Установка Microsoft SQL ServerHow to install Microsoft SQL Server
  2. Скачивание и установка средств и драйверов.How to download and install tools and drivers.
  3. Осуществление необходимых настроек в соответствии с выбранной операционной системой.How to make any necessary configurations, as appropriate for your chosen operating system.
  4. Компиляция предоставленного исходного кода.How to compile the provided source code.
  5. Как запустить программу.How to run the program.

Далее представлено несколько приблизительных разделов с описаниями, содержащихся на веб-сайте.Next are a couple approximate outlines of the detail provided on the website:

Java в UbuntuJava on Ubuntu

  1. Настройка среды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
  2. Создание приложения 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
  3. Ускорение работы приложения 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

  1. Настройка среды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
  2. Создание приложения 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
  3. Ускорение работы приложения 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-соединения – операции горизонтального соединения данных

Если суть РДБ – разделяй и властвуй, то суть операций объединений снова склеить разбитые по таблицам данные, т.е. привести их обратно в человеческий вид.

  1. JOIN – левая_таблица JOIN правая_таблица ON условия_соединения
  2. LEFT JOIN – левая_таблица LEFT JOIN правая_таблица ON условия_соединения
  3. RIGHT JOIN – левая_таблица RIGHT JOIN правая_таблица ON условия_соединения
  4. FULL JOIN – левая_таблица FULL JOIN правая_таблица ON условия_соединения
  5. 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 Объединение каждой строки левой_таблицы со всеми строками правой_таблицы. Этот вид соединения иногда называют декартовым произведением.
  1. Это короче и не засоряет запрос лишними словами;
  2. По словам LEFT, RIGHT, FULL и CROSS и так понятно о каком соединении идет речь, так же и в случае просто JOIN;
  3. Считаю слова 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 Логистика

Как пользоваться угольником свенсона

Примеры выполнения различных работ:

  1. Нанесение перпендикуляров. Используя уголок, на деталь рисуются расположенные к её краю под прямым углом линии. Инструмент держится непосредственно с краю досок, его заострённая часть укажет расположение линии, прямая линия рисуется при помощи квадратной части приспособления.
  2. Проверка соединения заготовок под прямым углом. Выполняется простым прикладыванием прибора к элементам для измерения правильности углов. Часто применяется при изготовлении и сборке мебели.
  3. Прочерчивание линий под углом 45°. Такой угол в равнобедренном треугольнике (каким является инструмент) будет между любым краем доски и его диагональю. Поэтому после прикладывания к краю детали квадратной стороны угольника просто прочерчивается искомая линия.
  4. Рисование параллельных линий. Инструмент прикладывается к краю детали, замеряется необходимое расстояние (например, часть которую нужно отрезать), угольник двигается по краю доски до нанесённой отметки, карандаш держится на первоначальном уровне. Так можно нанести линию параллельно краю заготовки.
  5. Чтение и нанесение различных углов. За точку опоры берётся прямой угол прибора, на его гипотенузе находится градусная разметка. На нужном значении делается карандашная отметка и с использованием квадратной стороны угольника проводится нужная линия.
  6. Направление резки циркульной пилой. Угольник укладывается на доску плашмя, закрепляется струбциной или специальным зажимом, резка выполняется параллельно катету прибора.
  7. Угольник можно использовать в качестве обычной линейки для замера нужных размеров.

Вещь является специфической и больше нужна специалистам для облегчения и удобства выполнения больших объёмов работ. Цена фирменных образцов довольно высока, поэтому делать такую покупку или нет, решать вам.

Смотрите видео как пользоваться угольником свенсона:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector