java第三十一天---mysql习题
1 获取项目2中所有工种尚未被决定的职员的加入日期
2 使用座落地点对所有的部门进行分组
3 子句group by对NULL值是如何进行处理的?是否与处理NULL值的通用方法一 致?
所有的null值为一组
4 COUNT(*)和COUNT(column)之间的区别何在?
前者是统计总数,后者是统计值不为null的总数,如果后者要统计所有的,必须传入没有null的字段
5 找出从事人数多于两个的工种
6 如果想在一个查询中连接多个表(假设是N个),共需要几个连接条件?
N-1
7 获取属于部门d1的所有售货员的加入日期
正确
SELECT works_on.`emp_no`, works_on.`enter_date`
FROM works_on LEFT JOIN employee ON works_on.`emp_no` = employee.emp_noWHERE works_on.`job`='Clerk' AND employee.`dept_no`='d1';
这种需要三个条件的应该用左右连接中的on确定一个,然后再where...and...确定两个
错误
SELECT works_on.`emp_no`, works_on.`enter_date`
FROM works_on,employee
WHERE works_on.`emp_no`=employee.`emp_no` AND works_on.`job`='Clerk' AND employee.`dept_no`='d1'
不能用where...and...and...
8 取所有身为经理且为Mercury工作的职员的姓名(连环左外连接)
SELECT emp_fname,emp_lname
FROM employee_enh LEFT JOIN works_on ON employee_enh.`emp_no`=works_on.`emp_no`
LEFT JOIN project ON works_on.`project_no`=project.`project_no`
WHERE works_on.`job`='Manager' AND project.`project_name`='Mercury';
需要用到三张表(连环左外连接),a left join b on a.x=b.x left join c on b.y=c.y
9 创建一个新表,表中包含所有参加项目的时间为1998年的职员,并从表employee中调入相应的行
方法一:
CREATE TABLE emp_date_1998 AS SELECT employee.`emp_no`,employee.`emp_fname`,employee.`emp_lname`,employee.`dept_no`
FROM employee LEFT JOIN works_on ON employee.`emp_no`=works_on.`emp_no`
WHERE works_on.`enter_date` LIKE '1998%';利用左外连接 a left join b on a.x=b.x where...方法二:
CREATE TABLE emp_date_1999 AS SELECT employee.`emp_no`,employee.`emp_fname`,employee.`emp_lname`,employee.`dept_no`
FROM employee, works_on
WHERE employee.`emp_no`=works_on.`emp_no`
AND works_on.`enter_date` LIKE '1998%';利用内连接 from a,b where...and...
10 修改为项目p1工作,且职称是经理的所职员的工种。从现在开始,他们必须从事售货员的工作。
UPDATE works_on SET job="Clerk" WHERE job="Manager" AND project_no="p1";
11 删除坐落于Seattle的所有部门
DELETE FROM department WHERE location="Seattle";
delete from... delete与from中间不加东西
12 获取参与项目的日期与表中最早的日期相等的所有职员的编号和参与日期
SELECT emp_no,enter_date FROM works_onWHERE enter_date=(SELECT MIN(enter_date) FROM works_on );
13 获取位于同一城市的所有部门的详细信息
SELECT * FROM departmentWHERE location=(SELECT location FROM department GROUP BY location HAVING COUNT(*)>=2);
14 获取与至少一位其他员工工作在同一部门且居住在同一城市的每一名职员的编号、姓名和居住地。(提示:要使用到表employee_enh)
15 创建一个包含所有为部门d1工作的雇员的数据的视图
CREATE VIEW viewD1 AS SELECT * FROM employee_enh
WHERE dept_no = 'd1';
16 创建一个视图,视图中包括所有在1998年下半年进入他们工作项目的雇员的姓名
CREATE VIEW shitu3 AS SELECT
employee_enh.emp_no, employee_enh.emp_fname,employee_enh.emp_lname
FROM employee_enh LEFT JOIN works_on ON employee_enh.`emp_no`=works_on.`emp_no`
WHERE works_on.`enter_date`>= '1998-07-01';
1998年下半年进入可表示为 enter_date >="1998-07-01";
17 解决前面的几个练习以使最初的列f_name和l_name能在视图中分别有新的名称:first和last
ALTER VIEW shitu3 AS SELECT employee_enh.emp_no,
employee_enh.emp_fname AS FIRST, employee_enh.emp_lname AS LAST
FROM employee_enh LEFT JOIN works_on ON employee_enh.`emp_no`=works_on.`emp_no`
WHERE works_on.`enter_date`>= '1998-07-01';
18 创建一个视图,包括所有的名叫Smith的雇员所参与工作项目的详细资料
CREATE VIEW shitu5 AS SELECT
employee.emp_no, project.project_no, project.project_name
FROM employee LEFT JOIN works_on ON employee.`emp_no`=works_on.`emp_no`
LEFT JOIN project ON works_on.`project_no`=project.`project_no`
WHERE employee.`emp_lname`="Smith";
java第三十一天---mysql习题相关推荐
- java | (三十一)MyBatis(1)配置、映射、缓存
目录 配置MyBatis 基本配置 采用注解的方式映射sql 主要API生命周期 别名typeAliases environments配置 mappers SQL映射 select(带参数) sele ...
- 三十一、MySQL 及 SQL 注入
MySQL 及 SQL 注入 如果您通过网页获取用户输入的数据并将其插入一个MySQL数据库,那么就有可能发生SQL注入安全的问题. 本章节将为大家介绍如何防止SQL注入,并通过脚本来过滤SQL中注入 ...
- Java第三十一天---超市会员管理系统
1.会员类Member (1)姓名 name:String (2)卡号 cardId:int (3)密码 password:String ...
- 三十一、Java多线程编程(下篇)
@Author:Runsen @Date:2019/11/07 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘课严重,专业 ...
- 【零基础学Java】—Java 日期时间(三十一)
[零基础学Java]-Java 日期时间(三十一) java.util.Date:表示日期和时间的类 类Date表示特定的瞬间,精确到毫秒 毫秒:千分之一秒,1000毫秒=1秒 特定的时间:一个时间点 ...
- JAVA之旅(三十一)——JAVA的图形化界面,GUI布局,Frame,GUI事件监听机制,Action事件,鼠标事件
JAVA之旅(三十一)--JAVA的图形化界面,GUI布局,Frame,GUI事件监听机制,Action事件,鼠标事件 有段时间没有更新JAVA了,我们今天来说一下JAVA中的图形化界面,也就是GUI ...
- 18 Java面试之 Oracle 和 Mysql 数据库
一.Oracle 中,查看某个表的结构使用哪个语句? 答: 1).select table_name from user_tables 获取当前用户的表(结构) 2).select table_nam ...
- 【FastDev4Android框架开发】RecyclerView完全解析之下拉刷新与上拉加载SwipeRefreshLayout(三十一)...
转载请标明出处: http://blog.csdn.net/developer_jiangqq/article/details/49992269 本文出自:[江清清的博客] (一).前言: [好消息] ...
- B2C商城项目源码,基于Java开发的高可用分布式B2C商城系统,Java+Spring MVC+Dubbo+Zookeeper+MySQL+Redis+FastDFS+Nginx+Solr
目录 前言 B2C商城-AIYOU 一.项目总体架构 二.系统软硬件设施总体规划 1.系统服务规划 2.应用服务规划 3.应用系统域名规划 三.系统运行环境构建 四.项目数据库创建 五.项目拉取 六. ...
最新文章
- 真香!3个月0基础转型大厂数据分析师,他做对了什么?
- 本科是学计算机研究生学教育学,教育学研究生好考吗?
- 需要我们了解的SQL Server阻塞原因与解决方法 - sym_cn
- innodb_memcache之配置
- 武汉疫情之后,中国即将发生的10大变化!(强烈推荐)
- 常用的两种spring、mybatis 配置方式
- request用法_虚拟语气的用法十一个考点:怎么考都在这里打转
- mysql最小费用最大流问题_图论-网络流之最小费用最大流问题
- mysql myisam表加索引_MyISAM和InnoDB的索引实现
- python刚开始什么都不能_关于python的初步学习
- .NET重要技术思考
- 在SQL server中查找特定类别的列
- JS设计模式——单例模式
- 计算机科学导论第8章答案,第8章计算机科学导论.ppt
- 第四届“泰迪杯”数据分析技能赛通知
- linux 安装pgadmin4
- 程序员绩效考核工作汇报
- 各种梯度算法总结 + Total Variation
- 主成分分析(PCA)原理详解
- 解决Ubuntu DVD 用wubi 安装时候要重新下载镜像的笨方法