注:以下所有学习笔记基于dm8及其示例库DMHR。
今天我们通过测试一条SQL来看看别名、常量、单双引号以及联结表的问题。
select top 5
hire_date as 雇佣日期,
identity_card "卡号",
'空格',
employee_id 'ids',
email,job_title
from dmhr.employee A1,dmhr.job B1
where A1.job_id = B1.job_id
order by 卡号;
以下是执行结果:
从这条语句我们可以看出很有意思的几点:
(1)列的别名在dm8中既可以使用as,也可以省略as
hire_date as 雇佣日期
或者
hire_date 雇佣日期
两种写法都可以。
(2)列的别名可以使用双引号,也可以不使用,但是如果使用单引号将被认为是一个常量
hire_date as 雇佣日期,
identity_card "卡号",
'空格',
employee_id 'ids',
这里前两个识别为列名,后两个识别为常量。若写成employee_id as 'ids'将报错。
(3)select后面定义的列别名可以在其他子句中生效引用(如这里的order子句),from后面定义的表别名也可以在其他子句引用(如这里的where子句)
(4)这条语句中select选中了2个表中的多个列,可以看出where子句联结了两个表,select不是直接在每个表上查询而是在联结表上做的查询。
更多参考内容请访问达梦云适配中心