老师,我遇到和其他同学同样的问题,查询时间一直在动,不停住
同样得代码,在第一个新建查询就好用,第二个新建查询就出错,一直查询不到,加不加commit都没用,这是什么情况?我删除数据库,重新来一遍也是,第一个新建查询里的代码就可以用,第二个新建就出错?
还有个问题,在使用navicat时,之前已经建立了表,查询过程未保存,退出了软件,重新打开软件无查询过程但是表依旧存在,这种情况可以找回查询过程吗?如果需重新查询建立表,一定要删除之前建立好的表吗?
11.列出在每个部门工作的员工数量、部门名称、平均工资和平均服务期限,
平均服务期限--服务条数datediff
select datediff(sysdate(),hiredate)/365 from emp
1.部门表和雇员表连表查询
select avg(sal),d.dname,count(*),avg(datediff(sysdate(),hiredate)/365)
from dept d join emp e on d.deptno=e.deptno
group by d.dname
老师,课程中说sysdate()获取函数执行时的日期和时间,而emp表中heredate只显示日期,这两个感觉无法进行计算时间间隔啊,但是程序运行时没有问题。
感觉用curdate()更清楚点
8.列出薪金高于公司平均薪金的所有员工,所在部门、上级领导
select e.*,d.*,m.*
from emp e join dept d on e.deptno=d.deptno
join emp m on e.mgr=m.empno
where e.sal>(select avg(sal) from emp)
老师,课上讲了不允许在where条件中使用多行函数,此题select avg(sal) from emp是多行函数,这是为什么?
6.列出最低薪金大于1500的各种工作及此从事此工作的全部雇员人数
1.最低薪金大于1500的各种工作
select job from emp group by job having min(sal)>1500
2.每个工作的雇员人数
select count(*) from emp group by job
3. select count(*),job from emp
where job in(select job from emp group by job having min(sal)>1500)
group by job
老师,上面这个第6题,我写的代码如下
select job,count(*) from emp group by job having min(sal)>1500
运行结果一样,无需job in(select job from emp group by job having min(sal)>1500)此条件中的工作属于此范畴中,因为having min(sal)>1500已确定了在此条件中
老师,emp e在之前说的是起别名,意思e代表emp,
而这节课select e.ename,m.ename from emp e,emp m where e.mgr=m.empno
1、emp m却代表领导表,这是为什么?
2、我认为是新生成的名为mgr的表,不知道这个mgr表示怎么生成的?
3、select ename from emp e运行OK,select e.ename from emp e运行也OK,那什么情况用enamel,什么情况下用e.ename。我认为是from后存在两个表时用e.ename,为了区分哪个表的ename,from后单个表用哪个都可以
1.列出至少有四位员工的所有部门信息
1.查询每个部门的人数
select deptno,count(*) from emp group by deptno
2.至少有四位
select deptno,count(*) from emp group by deptno having count(*)>4
3.部门信息
select d.*,dd.cou
from dept d,(select deptno,count(*) cou from emp group by deptno having count(*)>4)dd
where d.deptno=dd.deptno
1、查询出来的表select deptno,count(*) from emp group by deptno having count(*)>4还可以直接作为表进行查询?
2、dd这个表为什么这么用,课程中没讲,是怎么生成的?
3、第三步用的是自连接?
老师,在使用以下语句也会去掉重复的相同字段
--查询部门号为30的雇员信息,及部门名称select e.*,d.dname from emp e inner join dept d on e.deptno=d.deptno where e.deptno=30
如果外键没有起名字,可以删除吗?怎么删除?
多列主键怎么删除?
可以删除其中一列的主键吗?怎么删除?
多个字段添加主键和一个字段添加主键又什么区别?
老师,多行函数和单行函数的本质区别是什么,百度了好多都没明白?
本节开头讲
非空字符串“”或者0都不是null
这里是不是和python不太一样呢?
我记得python中 while 0 就等价于 while False, 也可以写成while Null吧?
老师讲课的这个sno字段为什么直接从7调到了10
请问唯一约束中,是否和主键约束一样,
如果多个字段只能添加到表级,不能添加到列级?
老师好,本节课讲了如何创建和删除主键,但是创建主键到底有什么作用?这里老师没有讲过,
请问开头里,
主键约束
唯一约束
非空约束
默认约束
自动增长约束
外键约束
分别的作用是什么呢?谢谢
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637