zoukankan      html  css  js  c++  java
  • mysql 实战

    建表语句:
    CREATE TABLE employee (
    id int(11) NOT NULL AUTO_INCREMENT,
    name varchar(150) NOT NULL DEFAULT '',
    dept varchar(150) NOT NULL DEFAULT '',
    salary int(11) NOT NULL DEFAULT '0',
    edlevel int(11) NOT NULL DEFAULT '0',
    hiredate varchar(150) NOT NULL DEFAULT '',
    PRIMARY KEY (id)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    插入数据:
    INSERT INTO employee (id, name, dept, salary, edlevel, hiredate)
    VALUES
    (1,'张三','开发部',2000,3,'2009-10-11'),
    (2,'李四','开发部',2500,3,'2009-10-01'),
    (3,'王五','设计部',2600,5,'2010-10-12'),
    (4,'王六','设计部',2300,4,'2010-10-03'),
    (5,'马七','设计部',2100,4,'2010-10-06'),
    (6,'赵八','销售部',3000,5,'2010-10-05'),
    (7,'钱九','销售部',3100,7,'2010-10-07'),
    (8,'孙十','销售部',3500,7,'2010-10-06');

    1、列出工资高于本部门平均工资的员工姓名、工资、部门名称;
    select a.name,a.dept,a.salary from employee a where a.salary > (select avg(b.salary) from employee b where a.dept=b.dept);

    2、列出各部门中工资高于本部门平均工资的员工数和部门名称;
    select dept,count(*) num from employee a where a.salary > (select avg(b.salary) from employee b where a.dept=b.dept) group by a.dept;

    二、
    CREATE TABLE stuscore (
    id int(11) NOT NULL AUTO_INCREMENT,
    name varchar(50) NOT NULL DEFAULT '',
    class varchar(50) NOT NULL DEFAULT '',
    course varchar(50) NOT NULL DEFAULT '',
    score int(11) NOT NULL DEFAULT '0',
    PRIMARY KEY (id)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    INSERT INTO stuscore (id, name, class, course, score)
    VALUES
    (1,'小明','1班','高数',81),
    (2,'小明','1班','数据结构',88),
    (3,'小明','1班','操作系统',65),
    (4,'小红','1班','数据结构',55),
    (5,'小丁','2班','高数',90),
    (6,'小样','3班','高数',70),
    (7,'小样','3班','数据结构',78),
    (8,'小红','1班','高数',67),
    (9,'小丁','2班','操作系统',87),
    (10,'小红','1班','操作系统',52);

    1、列出课程得分小于课程平均分的记录;
    select a.* from stuscore a ,(select course as a_course,avg(score) as a_score from stuscore group by course) as avg_score
    where a.course=avg_score.a_course and a.score < avg_score.a_score ;
    2、筛选出每门课程都比对应课程平均分低的同学(悬而未决)

    三、
    CREATE TABLE provincet (
    id int(11) NOT NULL AUTO_INCREMENT,
    province varchar(50) NOT NULL DEFAULT '',
    PRIMARY KEY (id)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    INSERT INTO provincet (id, province)
    VALUES
    (1,'广东'),
    (2,'湖南'),
    (3,'湖北');

    CREATE TABLE city (
    id int(11) NOT NULL AUTO_INCREMENT,
    pid int(11) NOT NULL DEFAULT '0',
    city varchar(50) NOT NULL DEFAULT '',
    PRIMARY KEY (id)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    INSERT INTO city (id, pid, city)
    VALUES
    (1,1,'广州'),
    (2,1,'深圳'),
    (3,1,'惠州'),
    (4,2,'长沙'),
    (5,3,'武汉');
    1、统计每个省份有几个城市,显示字段:省份id、省份名、城市个数
    select p.id,p.province,count(pid) num from provincet p left join city c on p.id = c.pid group by pid;

    http://topmanopensource.iteye.com/blog/364584

  • 相关阅读:
    The 2021 CCPC Guilin Onsite【A,I,G(二分),D(思维+构造),E(最短路】
    第 46 届 ICPC 国际大学生程序设计竞赛亚洲区域赛(沈阳)
    The 2021 CCPC Weihai Onsite【G:组合数学(好模板) D:Exkmp利用Z数组跑后缀】
    第 46 届 ICPC 国际大学生程序设计竞赛亚洲区域赛(上海)【I:线性DP】
    项目中基于Rest的Wcf服务发布以及iBatisNet框架的使用(下)
    linq to xml 学习整理
    项目中基于Rest的Wcf服务发布以及iBatisNet框架的使用(上)
    java 工具PDF使用——itextpdf
    在 jQuery 中弹出层中如何实现点击空白处关闭弹出层
    人生,有时候就是这样
  • 原文地址:https://www.cnblogs.com/heyijing/p/6396634.html
Copyright © 2011-2022 走看看