MySQL练习时所遇问题

来源:互联网 发布:淘宝创业故事 编辑:程序博客网 时间:2024/05/16 08:09

1.针对deptemp,查询出下面格式的结果.

(要求使用外联接,没有员工的部门名也要显示示,员工姓名如果是空值,要求用"不存在代替;如果工资是空值,要求用0代替")

部门名称 员工姓名 工资

select * from (select dname,ename e,sal s from dept left join emp on emp.deptno=dept.deptno) a

where ifnull(e,'不存在') and ifnull(s,0)

改正:select dname,ifnull(ename,'不存在') 员工姓名,ifnull(sal,0) 工资

from (select dname,ename ,sal  from dept left join emp on emp.deptno=dept.deptno) a

注意:ifnull  放在where后与select后的区别

2.现在公司要给员工增加工龄工资,规则是:30*工作年限,请按以下格式显示下面结果
部门名称 员工姓名原工资增加额度新工资
select ename,sal,(select 30*(year(now())-year(hiredate)) from emp)  a from emp,dept where emp.deptno=dept.deptno


报错:

Subquery returns more than 1 row  表示子查询返回了多行数据

改正:暂无

3.Navicat for MySQL中区分大小写问题(将该列设置敏感)

字符集 utf8  排列规则 utf8_bin



原创粉丝点击