数据库题目

1.数据库中有如下两个表:

表1:employee

员工编号:employee_id (NOT allows null)

员工姓名:employee_name (NOT allows null)

年 龄 :age,

雇用日期:hire_date,

部门:department

表2:salary

员工编号:employee_id

员工工资:salary


关于日期函数:

year(date)返回日期中的年份;

month(date)返回日期中的月份;

day(date)返回日期中的天;

(1)计算2015年以后雇佣的员工个数

select count(*) from employee where year(hire_date)>2015;

(2)工资大于9000的员工编号、姓名和工资

select employee.employee_id,employee.employee_name,salary.salary from employy,salary where salary>900 and employee.employee_id=salart.employee_id;

(3)计算各个部门的员工个数,表头显示为:部门、员工个数

select department as 部门,count(*) as 员工个数 from employee group by department;

(4)按工资的高低列出工资表

select * from salary order by salary;

(5)个人操作中用到的一些sql语句

select * from salary order by salary desc;

删除表中的一个字段:

alter table salary drop column employee_id;

新增字段salary:

alter table salary  add employee_id

2.数据库查询 对下面两张表进行查询操作:

学生信息表student:

班级信息表class:


(1)目前要查询班主任LiFang的班级下全体学生的信息情况。 要求:用两种不同的sql查询语句(连接查询和嵌套查询),并说明两种sql语句的执行效率哪个更高以及原因。

a.连接查询

select * from student  inner join class on calss.class_id =student.calss_id where class.Master="Li Fang";

b.嵌套查询

select * from student calss_id in(select calss_id from class where Matser="Li Fang");

3)操作中遇到的一些问题

插入数据的时候报了下面的错误:


该错误是由于输入了中文,Class_ID 的属性为char(255),不能接收中文,修改字段的属性为下面即可:\

alter table student modify Class_ID char(255) charset uft8;

修改某个字段的内容(把Li XiaoTing的Student_ID号改为2)

update student set Student_ID=2 where Student_Name="Li Xiao Ting";

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,834评论 18 399
  • 一. Java基础部分.................................................
    wy_sure阅读 3,867评论 0 11
  • mysql数据库中 :database : 文件夹table : 数据表(数据文件) 进入mysqlmysql -...
    赋闲阅读 591评论 0 0
  • 目录 简介 在Android中存储数据有时会用到数据库,Android给我们提供了 一系列的API来操作数据库,非...
    慕涵盛华阅读 1,061评论 1 2
  • 以前阻碍自己会游泳的,是一直以来对水的恐惧。倒不是因为童年曾有过溺水的经历:只是因为家里条件限制,每次洗头洗澡的大...
    鱼骨练习本阅读 905评论 0 1