老师,如果全外连接,是否需要保证两个连接的投影列都是一致的,我尝试了添加投影列,发现要保证数量一样多,但是不同列的时候只会显示左边的列,还有什么要注意的吗
(select e.last_name,d.department_name,e.dept_id from employees e LEFT OUTER JOIN departments d on e.dept_id = d.department_id) union (select e.last_name,d.department_name,d.location_id from employees e RIGHT OUTER JOIN departments d on e.dept_id = d.department_id)
老师,对于等值连接,有两种等效的操作。使用表1表2笛卡尔乘积,后接一个where;和在表1后使用INNER JOIN表2 ;请问两者的执行效率是相同的吗?因为直观的理解,假设表的大小为一万,总感觉第一种方法是先得到了一个一亿条的表,再用where条件进行筛选返回最终数据。
老师,只能用case也太不灵活了吧,如果想对区间操作(如对学生的成绩score根据区间返回优、良、中、差),该怎么操作呢? 用if也不方便,需要括号套括号(如下),要是有if……else if这样的写法就好了。
select *,
if (score >= 90, "优秀",
if (score >= 80, "良好",
if (score >= 60, "一般", "差")
)) as '评价'
from students;
老师,这里的e.maxsal不是返回多个数据吗,为什么能使用<号呢
这是我的项目结构,都是照着老师敲得。。。。:
这是我的项目结构,代码都是照着老师敲得:
老师,这个number括号里的8,2表示什么啊
老师,为什么这里添加约束是用add,而前面添加primary key时用的modify啊
老师,为什么这里modify后面的修改内容不需要写在括号里啊
接上图..................................
我这个问题出在哪啊,老师帮我看一下谢谢!:
这里的排序直接用别名day来排序也可以的吧?因为to_char()中的day就是星期一到星期日了,可以直接用来排序的呀。
老师, select * from employees e left outer join departments on d.department_id=e.department_id;
如何去区分哪个是主表 ,这个例子是e是主表吗?我理解的是,哪个表包含孤儿数据就是主表。还是我这么理解不对,是由于别的原因
SQL> select e.last_name,e.department_id,e.salary from employees e where e.salary in(select min(e.salary) from employees e group by e.department_id);
老师,这里面子查询按照department_id分组了,主查询就也同样安装department_id分组了吗?
老师,有两个问题:一个是增加外键一定要参考另一个表的主键吗?
第二个问题:alter table dept50 add constraint dept50_d_id foreign key(d_id) references dept60(id);
这个是可以运行的,当我在dept增加salary列,把add关键字换成modify就不能运行了
alter table dept50 modify constraint dept_d foreign key(salary) references dept60(id);
它就提示命令未正确结束,这个报错是因为什么,换关键字的原因吗?
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637