sql查询之“列命名问题“
项目场景:
sql查询,设置相同的"列别名"
create table dept
(dept_id int auto_incrementprimary key,dept_name varchar(50) null
);create table emp
(emp_id int auto_incrementprimary key,emp_name varchar(50) null,dept_id int not null
);INSERT INTO dept (dept_id, dept_name) VALUES (1, '一部');
INSERT INTO dept (dept_id, dept_name) VALUES (2, '二部');INSERT INTO emp (emp_id, emp_name, dept_id) VALUES (1, '张三', 1);
INSERT INTO emp (emp_id, emp_name, dept_id) VALUES (2, '李四', 2);
select e.emp_id as "员工id",e.emp_name as "员工姓名",e.dept_id as "dept_id",d.dept_id as "dept_id",d.dept_name as "部门名称"
from emp e
left join dept d on e.dept_id = d.dept_id
问题描述
为什么查询sql的列名,可以相同?
原因分析:
有些DB产品支持相同的列别名,有些不支持(略)
解决方案:
规范:不要使用相同的列名,因为这样会导致歧异