针对库中的所有表生成select count(*)对应的SQL语句,如数据库里有以下表, (注:在 SQLite 中用 “||” 符号连接字符串,无法使用concat函数)
employees departments dept_emp dept_manage salaries titles emp_bonus那么就会输出以下的样子: 代码实现:
select 'select count(*) from'||name||';' from sqlite_master where type='table'注意:sqlite_master的使用见:https://blog.csdn.net/qq_38978225/article/details/108948158
将employees表中的所有员工的last_name和first_name通过(’)连接起来。(不支持concat,请用||实现)
CREATE TABLE `employees` ( `emp_no` int(11) NOT NULL, `birth_date` date NOT NULL, `first_name` varchar(14) NOT NULL, `last_name` varchar(16) NOT NULL, `gender` char(1) NOT NULL, `hire_date` date NOT NULL, PRIMARY KEY (`emp_no`));输出格式: 代码实现:
select employees.last_name|| "'" || employees.first_name as name from employees题目描述: 查找字符串’10,A,B’ 中逗号’,'出现的次数cnt。
代码实现:
select length('10,A,B')-length(replace('10,A,B',',','')) as cnt思路分析: 先使用replace将,替换为空,那么整个字符串减少的长度除,的长度,就是,出现的次数。
sql按照first_name后面两个字母的顺序来进行排序.
题目描述: ”获取Employees中的first_name,查询按照first_name最后两个字母,按照升序进行排列
CREATE TABLE `employees` ( `emp_no` int(11) NOT NULL, `birth_date` date NOT NULL, `first_name` varchar(14) NOT NULL, `last_name` varchar(16) NOT NULL, `gender` char(1) NOT NULL, `hire_date` date NOT NULL, PRIMARY KEY (`emp_no`));输出格式: 代码实现:
select first_name from employees order by substr(first_name,-2,2) ASC解题思路: 注意这里substr()函数的使用。https://blog.csdn.net/qq_38978225/article/details/108948529
concat的使用见:链接
题目描述:
按照dept_no进行汇总,属于同一个部门的emp_no按照逗号进行连接,结果给出dept_no以及连接出的结果employees
CREATE TABLE `dept_emp` ( `emp_no` int(11) NOT NULL, `dept_no` char(4) NOT NULL, `from_date` date NOT NULL, `to_date` date NOT NULL, PRIMARY KEY (`emp_no`,`dept_no`));输出格式: 代码实现:
select dept_no,group_concat(emp_no) as employees from dept_emp group by dept_no解题思路: 注意这里的griup_concat的使用,详细可见:链接