SQL查询中什么时候需要使用表别名?
今天写MySQL时遇到使用表别名的问题,这里重新总结一下。
1、 表名很长时
select*fromwww_baidu_userwherewww_baidu_user.id = 1;
和
select*fromwww_baidu_user uwhereu.id = 1;
查询的结果一样,但是第二个使用表别名时更简洁。同样,字段的别名也是一样的原理。
2、 必须使用别名时
如下:
1)
select*from(select*fromtable1)ast1
这是从子查询直接查询所有的数据需要给表起别名
2)
selectb.nameid,a.job,a.sexfromA aleftouterjoinB bonb.id = a.id
这个是为了查询某一列或几列的数据,如A表中没有name字段,查询时必须带上表名或表的别名,连接查询时常用到。