• MYSQL中AS(取别名)


    0 写在前面

    在做业务,在mybatis中手写sql中再多表查询去映射实体时,总会用到AS这个关键字。
    或者我们在数据库大量字段测试数据时,很多字段都有相同的前缀,或者有时候数据库设计者设计的字段令人晦涩难懂。这时候就可以用as关键字去取别名。
    或者再多表联查的时候,每个如果使用表名则会很繁琐。
    所以我们用取别名去解决以上问题。

    1 格式

    <表名> [AS] <别名>
    <表名> [空格] <别名>

    <字段名> [AS] <别名>
    <字段名> [空格] <别名>
    <表名> :数据库表名
    <字段名>:为数据表中字段定义的名称。
    <别名>:新的名称。

    AS关键字可以省略,省略后需要将原始名和别名用空格隔开。

    2 举例

    sql准备:

    SET NAMES utf8mb4;
    SET FOREIGN_KEY_CHECKS = 0;
    
    -- ----------------------------
    -- Table structure for person
    -- ----------------------------
    DROP TABLE IF EXISTS `person`;
    CREATE TABLE `person`  (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      `sex` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      `age` int(11) NULL DEFAULT NULL,
      `date_birth` datetime NULL DEFAULT NULL,
      PRIMARY KEY (`id`) USING BTREE
    ) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = COMPACT;
    
    -- ----------------------------
    -- Records of person
    -- ----------------------------
    INSERT INTO `person` VALUES (1, '小明', '男', 21, '2001-02-02 12:29:30');
    INSERT INTO `person` VALUES (2, '小红', '女', 20, '2002-01-01 00:00:00');
    INSERT INTO `person` VALUES (3, '张三', '男', 22, '2002-01-01 00:00:01');
    INSERT INTO `person` VALUES (4, '李四', '男', 30, '1992-07-10 12:00:00');
    
    SET FOREIGN_KEY_CHECKS = 1;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    2.1 设置表别名

    这个是在多个表查询时,此处只单表举例。
    表名AS别名

    SELECT
    	t1.id,
    	t1.NAME,
    	t1.sex,
    	t1.age,
    	t1.date_birth 
    FROM
    	person AS t1;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    结果:
    在这里插入图片描述

    2.2 设置字段别名

    字段 AS 别名
    字段  [空格]  别名
    
    • 1
    • 2

    sql:

    SELECT
    	t1.id,
    	t1.NAME,
    	t1.sex,
    	t1.age,
    	t1.date_birth 
    FROM
    	person AS t1;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    结果:
    在这里插入图片描述

    3 写在末尾

    注意:表别名只在执行查询时使用,并不在返回结果中显示。而字段定义别名之后,会返回给客户端显示,显示的字段为字段的别名。
    不用故意使用AS,如果自己可以清晰就不用使用。
    某些特定场景必须使用AS,很好理解取别名的使用,加油干。

  • 相关阅读:
    java面试笔试题
    Hadoop HA高可用集群模式搭建指南
    相关回归常见问题
    进阶JAVA篇-深入了解内部类
    JDBC与Spring事务及事务传播性原理解析-下篇
    企业电子招标采购系统源码Spring Boot + Mybatis + Redis + Layui + 前后端分离 构建企业电子招采平台之立项流程图
    Linux线程同步(上)
    python爬虫之app爬取-mitmproxy 的使用
    Python基础语法入门篇(二)
    Redis 主从搭建
  • 原文地址:https://blog.csdn.net/weixin_45909221/article/details/128140361