AS в MySQL. Введение
AS в MySQL используется для задания псевдонимов (алиасов). С его помощью можно сокращать длинные имена и упрощать работу с вычислениями, подзапросами, JSON, GIS и т.д.
Синтаксис
SELECT column_name AS alias_name FROM table_name;SELECT expression AS alias FROM table_name;SELECT * FROM table_name AS t;Типовая конструкция
SELECT u.id AS user_id, u.email AS email_address
FROM users AS u
JOIN orders AS o ON o.user_id = u.id;Примеры
1. Алиас для вычисляемого столбца (цена с НДС)
SELECT price*1.2 AS price_with_vat
FROM products;2. Алиас для округления суммы
SELECT ROUND(total,2) AS total_rounded
FROM payments;3. Алиас для строки через CONCAT
SELECT CONCAT(first_name,' ',last_name) AS full_name
FROM users;4. Алиас для функции DATE_FORMAT
SELECT DATE_FORMAT(created_at,'%Y-%m') AS ym
FROM orders;5. Алиас для CASE условия
SELECT CASE WHEN age<18 THEN 'minor' ELSE 'adult' END AS age_group
FROM customers;6. Алиас таблицы в JOIN для сокращения имён
SELECT u.id, o.id AS order_id
FROM users AS u JOIN orders AS o ON u.id=o.user_id;7. Алиас таблицы в JOIN c условиями
SELECT p.name, c.name AS category
FROM products AS p JOIN categories AS c ON p.cat_id=c.id;8. Алиас подзапроса для выборки суммы
SELECT sq.total FROM (SELECT SUM(amount) AS total
FROM payments) AS sq;9. Алиас CTE для аналитики
WITH top_users AS
(SELECT user_id, COUNT(*) AS cnt
FROM orders GROUP BY user_id)
SELECT * FROM top_users;10. Алиас для COUNT
SELECT COUNT(*) AS cnt
FROM logs;11. Алиас для RANK окна
SELECT id, RANK() OVER (ORDER BY score DESC) AS place
FROM exams;12. Алиас JSON поля
SELECT JSON_EXTRACT(cfg,'$.feature') AS feature_flag
FROM configs;13. Алиас геометрии
SELECT ST_AsText(geom) AS geom_wkt
FROM geo_points;14. Алиас результата REGEXP
SELECT email REGEXP '.*@gmail.com' AS is_gmail
FROM users;15. Алиас во VIEW
CREATE VIEW active_users AS SELECT id AS user_id, email AS user_email
FROM users WHERE active=1;16. Алиас в PROCEDURE
CREATE PROCEDURE stats()
BEGIN
SELECT COUNT(*) AS total_users
FROM users;
END;17. Алиас для логического выражения
SELECT (status='active') AS is_active
FROM accounts;18. Алиас для вложенного SELECT
SELECT sq.cnt FROM (SELECT COUNT(*) AS cnt
FROM orders) AS sq;19. Алиас для функции LENGTH
SELECT LENGTH(name) AS len
FROM categories;20. Алиас для системного @@
SELECT @@version AS mysql_version;21. Алиас для временного столбца в ORDER BY
SELECT salary*1.1 AS adjusted
FROM employees
ORDER BY adjusted DESC;22. Алиас для условия BETWEEN
SELECT salary BETWEEN 50000 AND 100000 AS mid_range
FROM employees;Заключение
AS в MySQL — универсальный инструмент: от простых алиасов столбцов до работы с подзапросами, представлениями, оконными функциями, JSON и геоданными. Примеры выше показывают широту применения. Используйте алиасы, чтобы SQL был читаемым и поддерживаемым.