9.25

1.

因为emp_v的数据是由employees表中emp_no > 10005的数据组成,所以可以直接输出emp_v的记录
select *from emp_v
或者利用intersect(交集)求两表的交集
select *from emp_v intersect select *from employees

2.

不能使用intersect关键字,可直接输出emp_v,也可以用where增加条件select *from employees where emp_no > 10005

3.查找字符串'10,A,B' 中逗号','出现的次数cnt。

利用length求出字符串的长度,再用replace将字符串中','替换成空'',两者长度差即为','的次数
select length('10,A,B') - length(replace('10,A,B',',',''))

4.

按照first_name的后两位字母升序排序,需要用到substr(X,Y)截取字符串,其中X表示字符串,Y表示截取的起始位置。
select first_name from employees order by substr(first_name,-2)
其中Y<0表示从右边数起,-1开始
select first_name from employees order by substr(first_name,length(first_name)-1)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容