9.25
2018-09-25 本文已影响0人
笔墨流年乱浮生
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)