SQL 表别名

在 SQL 语句中,可以为表名称及字段(列)名称指定别名(Alias),别名是 SQL 标准语法,几乎所有的数据库系统都支持。通过关键字 AS 来指定。

表别名语法:

SELECT column FROM table AS table_alias

上述 SQL 执行后的效果,给人感觉是对 table_alias 表进行查询,但实际上对单表做简单的别名查询通常是无意义的。一般是对一个表要当作多个表来操作,或者是对多个表进行操作时,才设置表别名。

表别名使用例子

下面是一个简单的多表操作的例子:

article 文章表:

aid

title

content

uid

pubtime

1

文章1

文章1正文内容...

1

1278982219

2

文章2

文章2正文内容...

1

1278985319

3

文章3

文章3正文内容...

2

1279185319

user 用户表:

uid

username

password

email

regdate

1

admin

b7e591c246d010bb2ccd77d52490c85e

admin@5idev.com

1277992339

2

小明

a193686a53e4de85ee3f2ff0576adf01

xiao@163.com

1278063917

3

Jack

0193686a35e4de85ee3f2ff0567adf490

jack@gmail.com

1278061380

当查询一篇文章的时候,一般会同时将对应的文章作者查询出来,通常的 SQL 语句为:

SELECT article.title,article.content,user.username FROM article, user

WHERE article.aid=1 AND article.uid=user.uid

设置表别名后:

SELECT a.title,a.content,u.username FROM article AS a, user AS u where a.aid=1 and a.uid=u.uid

上述两条 SQL 语句查询结果是一样的:

title

content

username

文章1

文章1正文内容...

admin

可以看出,使用表别名查询,可以使 SQL 变得简洁而更易书写和阅读,尤其在 SQL 比较复杂的情况下。除了使用别名来简化 SQL 外,有些时候例如一个表做自身关联时,必须要使用别名来当作两个表进行关联操作。

在 SQL 中,不仅可以指定表别名,同样还可以指定字段(列)别名,以解决多表之间复杂查询的问题,具体请参阅《MySQL 字段别名》。

mysql 表别名_MySQL 表别名(Alias)相关推荐

  1. mysql 别名_MySQL 字段别名(列别名)

    SQL 字段别名 同本文前文讲述的表别名一样,SQL(MySQL) 也支持对表的字段(列)设置别名. 字段别名语法: SELECT column AS column_alias FROM table ...

  2. mysql中表联结_MySQL -- 表联结

    创建联结:(使用WHERE联结)SELECTvend_name,prod_name,prod_priceFROMvendors,productsWHEREvendors.vend_id=product ...

  3. mysql查看表描述_MySQL表记录操作介绍(重点介绍查询操作)

    MySQL表记录操作指的是对数据库表中数据进行CRUD增删改查操作,一下将一一给大家介绍,重点介绍查询操作. 一.插入数据(INSERT) 二.删除数据(DELETE) 三.修改数据(UPDATE) ...

  4. mysql 忽略表大小写_mysql表名忽略大小写问题记录

    问题描述: 一开发同事在linux下调一个程序老是报错说找不到表,但是登陆mysql,show tables查看明明是已经创建了这张表的!!如下: mysql> show tables; +-- ...

  5. mysql关系表控制_mysql表关系

    一.表的详细操作 1.修改表名 alter table 旧表名 rename 新表名; ​2.修改表的引擎与字符编码 alter table 表名 engine="引擎名" ch ...

  6. mysql 回收空间_MySQL表的碎片整理和空间回收小结

    MySQL表碎片化(Table Fragmentation)的原因 关于MySQL中表碎片化(Table Fragmentation)产生的原因,简单总结一下,MySQL Engine不同,碎片化的原 ...

  7. mysql表类型_MySQL表类型的选择

    P131)创建表时的默认引擎是InnoDB,如果要修改默认的存储引擎,可以在参数文件中设置default-table-type.查看当前的默认存储引擎,可以使用一下命令: 创建新表的时候可以通过增加E ...

  8. mysql一对一级联_MySQL 表的一对一、一对多、多对多问题

    将实体与实体的关系,反应到最终数据库表的设计上,将关系分为三种:一对一,一对多(多对一)和多对多,所有的关系都是表与表之间的关系; 一对一 一对一:一张表的一条记录只能与另外一条记录进行对应,反之亦然 ...

  9. mysql 表 类型_mysql表类型

    MySQL支持6种不同的表类型:BDB.InnoDB.HEAP.ISAM.MERGE以及MyISAM.其中 BDB,InnoDB单独属于一类,称为"事务安全型"(transacti ...

最新文章

  1. solr mysql 分词_solr 7+tomcat 8 + mysql实现solr 7基本使用(安装、集成中文分词器、定时同步数据库数据以及项目集成)...
  2. centos6.5下的elk部署
  3. 系统设计:负载均衡(负载均衡算法、转发实现、session)
  4. Jenkins中安装Credentials Binding插件时提示:Failed to load: SSH Credentials Plugin (1.18.2),Jenkins(2.282)or
  5. jQuery中json对象与json字符串互换
  6. 【简便解法】1078 字符串压缩与解压 (20分)_42行代码AC
  7. 0基础学python有多难-对于几乎是零基础的人,直接学 Python 编程合适吗?
  8. CentOS 6.5编译安装MySQL5.7.7rc
  9. 华为手机更改系统默认字体
  10. 面向对象设计,ORM,NHIBERNATE杂谈(有感)
  11. 小写金额转为中文大写
  12. Navicat自动生成SQL神器
  13. 项立刚:乔布斯展现了人类无尽的创造力
  14. 对点云匹配算法ICP、PL-ICP、NICP和IMLS-ICP的理解
  15. Android端2016年9月系统使用以及兼容测试
  16. CDH修改静态资源池配置,NodeManager重启失败问题
  17. 为什么3D游戏建模师就业要求越来越高的原因
  18. matlab获得solve得到的值,matlab solve函数赋值方程组
  19. 机器学习实验(一):运用机器学习(Kmeans算法)判定家庭用电主因
  20. LeetCode 5655 重新排列后的最大子矩阵

热门文章

  1. 怎么定位html的坐标,css怎么定位图片的位置?
  2. 【Maxent】最大熵的数学原理及其在推断问题中的应用
  3. Android开发踩坑之旅
  4. 白鹭引擎用java_白鹭引擎产品工具更新 完善小游戏、QQ玩一玩开发支持
  5. 精度检验方法(之二分类)
  6. SuperMap iDesktop地质体模型匹配地形——精修地质体模型路线
  7. 简单易懂的宏任务和微任务执行顺序
  8. beego使用API自动化文档生成swagger时,routers目录下无法生成commentsRouter_controllers.go文件
  9. 通过iptables 禁止访问域名方法整合
  10. 网站镶嵌网站显示代码