SQL:对表、字段起别名
1、对表起别名
1.1 使用 as
有时候,在对数据库中的表进行操作的时候,发现表名比较冗长,这时候我们就需要对表创建一个别名,别名的关键字为as(也可以不加)
。
select a.Sno,a.Sname,a.Sage
from student as a---
select a.Sno,a.Sname,a.Sage
from student a (as可以去掉)
我们就对student取了一个别名叫做a
1.2 使用 WITH … AS … 语句增强 SQL 查询的可读性
因为业务比较复杂,所以大家经常会用到各种子查询(sub-query)。于是会写成类似这样:
SELECTt1.foo,t1.bar,t2.baz
FROM (SELECTfoo,barFROMtb1WHERE<conditions>) AS t1 INNER JOIN (SELECTbazFROMtb2WHERE<conditions>) AS t2 ON <conditions>
WHERE<conditions>;
这样写子查询会有两个问题:
- 一是子查询的结果如果要在多个不同地方用到,那么就要复制粘贴多次,实际执行的时候也可能执行多次。
- 二是当子查询 或/和 JOIN 特别多的时候,整个查询就会变得无比复杂,可读性极差。
为解决问题,可用视图(VIEW)解决,也可用 WITH ... AS ... 子句来解决
。WITH <temprary_table_name> AS (SELECT ... FROM <table_name> WHERE <conds>) 和视图类似,可以创建一个临时表,供之后使用
。按上述例子,改用 WITH … AS … 子句可以写成这样:
WITH t1 AS (SELECTfoo,barFROMtb1WHERE<conditions>
),
t2 AS (SELECTbazFROMtb2WHERE<conditions>
)SELECTt1.foo,t1.bar,t2.baz
FROMt1 INNER JOIN t2 ON <conditions>
WHERE<conditions>;
https://liam.page/2020/03/13/the-WITH-AS-clause-in-Hive-SQL/
2、对字段起别名
更改后:
SQL:对表、字段起别名相关推荐
- oracle PL/SQL里给字段起别名
select case TianQi when 1 then '晴天' when 2 then '阴天' when 3 then '小雨'end as "别名" from tb-- ...
- shell 提取sql 的字段名表名_Mysql 常用SQL语句集锦(仅学习)
基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day from table_name" ...
- MySQL查询——为表和字段取别名
在前面介绍分组查询.集合函数查询和嵌套子查询内容中,有的地方使用 AS 关键 字为查询结果中的某一列指定一个特定的名字.在内连接查询时,则对相同的表 fruits 分别指定两 个不同的名字,这里可以为 ...
- MySQL——为表和字段取别名
1. 为表取别名 当表的名字很长或者执行一些特殊查询时,为了方便操作或者需要多次使用相同的表时,可以为表指定别名,以替代表原来的名称. 语法格式如下: 表名 [AS] 表别名 &quo ...
- oracle删除字段约束条件,Oracle 数据库中关于对表字段约束的操作(设置、删除、查询)...
Oracle 数据库中关于对表字段约束的操作(设置.删除.查询) 1. 给表的单个字段加约束 SQL> ALTER TABLE 表名 ADD UNIQUE(字段名); 2. 删除表的单个字段约束 ...
- MySQL简单命令和SELECT查询,给字段起别名【MySQL数据库】
Java养成计划----学习打卡第六十四天 内容导航 数据库的相关操作 数据库的导入 查看导入数据库中的表 查看表中的数据 查看表的基本结构[简化] 查看表的结构[详细] 查看mysql数据库的版本号 ...
- mysql为表和字段取别名_MySQL查询函数---为表和字段取别名
(1)为表取别名 (2)为字段取别名 (1)为表取别名 当表名字很长或者执行一些特殊查询时,为了方便操作或者需要多次使用相同的表时,可以为表指定别名,用这个别名代替原来的名称.为表取别名的基本语法格式 ...
- MySQL数据库——day26 数据库安装,卸载,概念,msq的介绍,安装,连接,DDL,DML,DQL模糊查询,字段控制(别名和运算),排序,聚合函数,分组查询(where和having),分页查询
学到mysql的时候非常的快,感觉前面的没有很巩固,还是要复习前面的博客 常见的数据库 MySQL , Oracle , SQL Server , SQLite , DB2 , - SQL Serve ...
- MySQL:单表查询---简单查询+条件查询+高级查询+表和字段取别名
目录 一.通用模版展示 简单查询 条件查询 高级查询 表和字段取别名 二.举例说明 简单查询 条件查询 高级查询 表和字段取别名 三.注意事项 四.Mapper简单举例 简单查询 条件查询 高级查询 ...
最新文章
- 2022-2028年中国PET薄膜行业市场深度分析及未来趋势预测报告
- 更改git bash默认的路径
- 切割 Tomcat 的 catalina.out 文件,解决日志文件过大的问题
- abs 不会整数 方法 溢出_在 Golang 中针对 int64 类型优化 abs()
- Linux引到过程与服务控制
- AI x 量化:华尔街老司机解密智能投资正确姿势
- Java IO的RandomAccessFile的使用(转)
- java8 di_java8 多个list对象用lambda求差集操作
- Asp.Net 构架(HttpModule 介绍) - Part.3
- SSL自签名的实现类org apache commons httpclient contrib ssl EasySSLP
- 【Linux】监视gpu使用情况
- Gstreamer之gst-plugin-bad交叉编译集成x265(二十二)
- ecshop4.0php,ECSHOP安装教程【ECSHOP4.0安装教程】图解ECSHOP4.0安装教程流程和步骤-ECSHOP教程网...
- android espresso 教程,Espresso 设置说明
- 摘抄部分经典励志语录: 送给所有心怀梦想的人们
- 2022-03-03 北京 计算机知识。字符编码,ppt
- Use HAProxy to load balance 300k concurrent tcp socket connections: Port Exhaustion, Keep-alive and
- Win10 无法加载操作系统,关键系统驱动程序丢失或错误 蓝屏错误代码0xc000007b
- UNIX环境高级编程(1)——UNIX系统总览
- 富文本编辑器粘贴复制Word