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

  • 相关阅读:
    [Unity3D]调用Android接口
    android studio build.gradle中 project.ANDROID_BUILD_SDK_VERSION
    java中static{}语句块详解
    [Android][Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法
    c++中 extern
    android studio一直卡在Gradle:Executing tasks
    Android Studio导入第三方类库的方法
    Android按返回键退出程序但不销毁,程序后台运行,同QQ退出处理方式
    Ubuntu64位下使用eclipse闪退的解决
    Android4.1中BinderService的作用
  • 原文地址:https://www.cnblogs.com/heyijing/p/6396634.html
Copyright © 2011-2022 走看看