牛客网SQL必刷题目汇总
发布时间
阅读量:
阅读量
牛客网SQL必刷题目汇总
- 更新数据信息
- 去除重复项,并保留具有最小id的数据记录
- 执行SQL34以实现批量执行数据插入操作
- 合并员工姓名信息
- 请求返回薪水排名第二高的员工的基本资料
- 调用SQL11获取当前所有员工各自的负责人信息
- 列出所有员工的基本信息及其所属部门名称,并确保完整显示包括暂时未分配部门的情况
- 使用join连接来筛选出未被分类的电影编号及标题
- 利用子查询检索属于Action类别中的电影及其描述内容
- 执行SQL9以完成批量插入操作
更新数据
将所有to_date为9999-01-01的全部更新为NULL,且 from_date更新为2001-01-01。
update titles_test
set to_date = NUll,
from_date="2001-01-01"
where to_date="9999-01-01"
删除重复记录,仅保留id最小
删除emp_no重复的记录,只保留最小的id对应的记录。
delete from titles_test
where id not in (
select min(id)
from titles_test
group by emp_no
)
SQL34 批量插入数据
INSERT INTO actor(actor_id,
first_name,
last_name,
last_update)
VALUES(1,'PENELOPE','GUINESS','2006-02-15 12:34:33'),
(2,'NICK','WAHLBERG','2006-02-15 12:34:33')
拼接姓名
用于将employees表中的所有员工的last_name与first_name连接成Name字段,并用空格分隔这两个字段
select (last_name||" "|| first_name) as Name from employees
请你获取薪水第二多的员工的emp_no以及其对应的薪水salary
select emp_no,salary from salaries
order by salary desc
limit 1,1;
SQL11 获取所有员工当前的manager
有一个员工表dept_emp简况如下:

第一行表示为员工编号为10001的部门是d001部门。

有一个部门经理表dept_manager简况如下:

第一行表示为d001部门的经理是编号为10002的员工。
请收集所有员工及其直接上司,并将如果是经理则不包含在内。以上例子如下:例如,在以下列表中,请注意排除管理层人员。
select dept_emp.emp_no,dept_manager.emp_no as manager from dept_emp join dept_manager
on dept_emp.dept_no=dept_manager.dept_no
where dept_emp.emp_no not in (
select emp_no from dept_manager
)
获取全部员工的last_name、first_name及对应的部门名称,并包含尚未分配部门的员工。
有一个员工表employees简况如下:

有一个部门表departments表简况如下:

有一个,部门员工关系表dept_emp简况如下:

请查找所有员工的信息表中包含last_name、first_name以及对应的dept_name字段,并且考虑尚未分配部门的人员;例如上述结果。

select last_name,first_name,dept_name from employees left join dept_emp on employees.emp_no=dept_emp.emp_no
left join departments on dept_emp.dept_no=departments.dept_no;
使用join查询方式找出没有分类的电影id以及名称
select film.film_id,title from film left join film_category on film.film_id=film_category.film_id where film_category.category_id is null
能否使用subquery的方法找到所有属于Action分类的电影的title和description?
select title,description from film left join film_category on film.film_id=film_category.film_id
left join category on film_category.category_id=category.category_id
where name='Action'
批量插入数据
对于actor被插入如下数据的情况,请确保当所插入的数据已存在于该表中时应避免采用替换操作。
对于actor被插入如下数据的情况,请确保当所插入的数据已存在于该表中时应避免采用替换操作。
insert or ignore into actor values('3','ED','CHASE','2006-02-15 12:34:33')
全部评论 (0)
还没有任何评论哟~
