1. (SQL55)分页查询employees表,每5行一页,返回第2页的数据
SELECT * FROM employees LIMIT 5,5;
SELECT * FROM employees LIMIT 5 OFFSET 5;
SELECT * FROM table LIMIT 2,1;
SELECT * FROM table LIMIT 2 OFFSET 1;
2. (SQL45)将titles_test表名修改为titles_2017
rename table titles_test to titles_2017;
alter table titles_test rename titles_2017;
3. (SQL51)查找字符串’10,A,B’ 中逗号’,'出现的次数cnt
- 使用length计算长度,利用replace将’,'替换掉,间接地计算出次数:
select length("10,A,B")-length(replace("10,A,B", "," ,"")) as cnt;
4. (SQL52)获取Employees中的first_name,查询按照first_name最后两个字母,按照升序进行排列:
select first_name from employees order by right(first_name,2);
SELECT first_name FROM employees ORDER BY SUBSTR(first_name,-2);
substr(string ,1,3) ;
substr(string, -1,3);
substr(string, -3,3);
- SUBSTR(str,pos): pos开始的位置,一直截取到最后
select substr('abcdefg',2);
select substr('abcdefg',-2);
5. (SQL44)将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005,其他数据保持不变,使用replace实现,直接使用update会报错。
- 语法:replace(object,search,replace)
- 语义:把object对象中出现的的search全部替换成replace。
update titles_test
set emp_no = replace(emp_no,10001,10005)
where id = 5;
如有错误欢迎指正,谢谢!!