-- 创建数据库 CREATE DATABASE book; -- 创建作者表 CREATE TABLE authors( Id int not NULL, -- 作者编号 Fname VARCHAR(10), -- 姓 Lname VARCHAR(12), -- 名 Sex CHAR(2), Sage int ); -- 创建图书表 CREATE table titles( tId int not NULL , -- 图书编号 tname VARCHAR(25) , -- 书名 type VARCHAR(25), price int ); -- 添加数据 INSERT authors VALUES (001,'*','**','男',100), (002,'张','三丰','男',43),(003,'丰','丰田','男',23),(004,'郭','丰男','男',34),(005,'李','晓莉','女',22); INSERT titles VALUES (001,'***语录','文学类',20),(002,'三丰秘籍','武术类',230),(003,'汽车维修宝典','商业类',55),(004,'大话古典文化','文学类',22),(005,'古诗词赏析','文学类',10); -- 查询:authors SELECT Lname FROM AUTHORS WHERE Lname LIKE '丰%'; -- 1、 列出以字母‘丰’开头的名; SELECT Lname FROM AUTHORS WHERE Lname LIKE '%丰%'; -- 2、 列出包含‘丰’字符的名; SELECT Lname FROM AUTHORS WHERE Lname LIKE '%丰'; -- 3、 列出以‘丰’结尾的名。 SELECT COUNT(*) 30岁以上的作者的人数 FROM AUTHORS WHERE Sage>30; -- 4、 列出作者表中年龄在30岁以上的作者的人数。 SELECT COUNT(*) 男作者人数 FROM AUTHORS WHERE Sex ='男';-- 5、 列出男作者的人数。 -- 6、 列出最小年龄的作者 SELECT Fname,Lname FROM AUTHORS WHERE Sage=(SELECT MIN(Sage) FROM AUTHORS) -- ??怎么合并两个列名得数据成 一列显示 -- 查询 图书表 -- 统计‘商业类’图书的数量; SELECT COUNT(*) 数量 FROM titles WHERE type = '商业类' -- 2、 统计各类图书的平均价格。 SELECT AVG(price) FROM titles -- 3、 统计‘商业类’图书的总价格; SELECT sum(price) 数量 FROM titles WHERE type = '商业类' -- 4、 列出‘商业类图书’中最贵的书; SELECT tname FROM titles WHERE price = (SELECT max(price) FROM titles WHERE type = '商业类') -- 创建 部门表 CREATE TABLE department ( deptno VARCHAR(20), deptname VARCHAR(20), marno int -- 部门经理编号 ); -- 添加数据 INSERT into department VALUES ('1122','财务部',105),('119','消防队',103),('315','消费者协会',104); -- 创建 雇员表 CREATE TABLE employee( empno int, ename VARCHAR(20), job VARCHAR(20), deptno VARCHAR(20), hiredate date,-- 入职时间 sal int ,-- 薪水 comm int-- 佣金 ); -- 添加数据 INSERT into employee VALUES (11221,'王五','经理','1122','1921-1-1',2500,1000),(1201,'医院张三','院长','120','1996-1-1',4700,2000),(1191,'消防队张三','队长','119','1981-1-1',1500,2000),(3151,'消费者协会张三','会长','315','1998-1-1',3500,154); -- 1、 显示雇员名、部门编号、部门名称。(内联) SELECT ename 雇员名, employee.deptno 部门编号,deptname 部门名称 FROM employee INNER JOIN department ON employee.deptno = department.deptno -- 2、 显示职务是经理的员工名、部门编号、部门名。(内联) SELECT ename 员工, employee.deptno 部门编号,deptname 部门名称 FROM employee INNER JOIN department ON employee.deptno = department.deptno AND job = '经理'; -- 3、 显示在‘财务部’工作的员工名、工作、部门编号、部门名。(内联) SELECT ename 员工, job 工作,deptname 部门名称 FROM employee INNER JOIN department ON employee.deptno = department.deptno AND deptname = '财务部'; -- 4、 显示员工名、员工编号和他们经理的经理编号,部门编号。(内联) SELECT ename 员工, empno 员工编号,marno 经理编号,employee.deptno 部门编号 FROM employee INNER JOIN department ON employee.deptno = department.deptno; -- 5、 显示不同部门的部门名、员工数,员工的平均薪水。(内联) SELECT deptname 部门名 ,COUNT(ename) 员工数 ,sum(sal+comm) 薪水 FROM employee INNER JOIN department ON employee.deptno = department.deptno GROUP BY 部门名 ORDER BY 薪水 ;
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Mysql 数据库 基础代码 - Python技术站