1.单表查询:

1.创建表

CREATE TABLE worker(did INT(11) NOT NULL COMMENT '部门号',uid INT(11) NOT NULL PRIMARY KEY COMMENT '职工号',work_time DATE NOT NULL COMMENT '工作时间',salary FLOAT(8,2) NOT NULL COMMENT '工资',outlook VARCHAR(10) NOT NULL DEFAULT '群众' COMMENT '政治面貌',NAME VARCHAR(20) NOT NULL,birthday DATE NOT NULL
)ENGINE=InnDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

2.添加数据

INSERT INTO worker VALUES    (101, 1001, '2015-5-4', 3500.00, '群众', '张三', '1990-7-1'),(101, 1002, '2017-2-6', 3200.00, '团员', '李四', '1997-2-8'),(102, 1003, '2011-1-4', 8500.00, '党员', '王亮', '1983-6-8'),(102, 1004, '2016-10-10', 5500.00, '群众', '赵六', '1994-9-5'),(102, 1005, '2014-4-1', 4800.00, '党员', '钱七', '1992-12-30'),(102, 1006, '2017-5-5', 4500.00, '党员', '孙八', '1996-9-2');

3.修改数据

ALTER TABLE worker ADD sex INT(1) DEFAULT 1 COMMENT '1:男,2:女';
UPDATE worker SET sex=0 WHERE NAME='李四' OR NAME='赵六' OR NAME='孙八';
ALTER TABLE worker ADD age INT(3) DEFAULT 18 COMMENT '年龄';
UPDATE worker SET age=25 WHERE NAME='李四' OR NAME='王亮';
UPDATE worker SET age=30 WHERE NAME='孙八' OR NAME='赵六';

4.查询数据

1.显示所有职工的基本信息。

SELECT * FROM worker;

2.查询所有职工所属部门的部门号,不显示重复的部门号。

SELECT DISTINCT did FROM worker;

3.求出所有职工的人数。

SELECT COUNT(uid) FROM worker;

4.列出最高工和最低工资。

SELECT MAX(salary),MIN(salary) FROM worker;

5.列出职工的平均工资和总工资。

SELECT SUM(salary),AVG(salary) FROM worker;

6.创建一个只有职工号、姓名和参加工作的新表,名为工作日期表。

CREATE TABLE work_jtime SELECT uid,NAME,work_time FROM worker;

7.显示所有女职工的年龄。

SELECT age FROM worker;

8.列出所有姓刘的职工的职工号、姓名和出生日期。

SELECT uid,NAME,birthday FROM worker WHERE NAME LIKE '刘%';

9.列出1960年以前出生的职工的姓名、参加工作日期。

SELECT NAME,work_time FROM worker WHERE work_time > '1960-00-00';

10.列出工资在1000-2000之间的所有职工姓名。

SELECT NAME FROM worker WHERE FLOOR(salary) BETWEEN 1000 AND 2000;

11.列出所有陈姓和李姓的职工姓名。

SELECT NAME FROM worker WHERE NAME LIKE '刘%' OR NAME LIKE '李%';

12.列出所有部门号为2和3的职工号、姓名、党员否。

SELECT uid,NAME,outlook FROM worker WHERE did=2 OR did=3;

13.将职工表worker中的职工按出生的先后顺序排序。

SELECT * FROM worker ORDER BY birthday ASC;

14.显示工资最高的前3名职工的职工号和姓名。

SELECT uid,NAME FROM worker ORDER BY salary DESC LIMIT 0,3;

15.求出各部门党员的人数。

SELECT COUNT(*) FROM worker WHERE outlook='党员';

16.统计各部门的工资和平均工资

SELECT COUNT(*),AVG(salary) FROM worker GROUP BY did;

17.列出总人数大于4的部门号和总人数。

SELECT did,COUNT(*) FROM worker GROUP BY did HAVING COUNT(*)>4; 

2.多表查询:

1.创建表

CREATE TABLE student (id INT(10) NOT NULL PRIMARY KEY COMMENT '学生ID',NAME VARCHAR(20) NOT NULL COMMENT '学生姓名',sex VARCHAR(4) COMMENT '学生性别',birth YEAR COMMENT '学生生日',department VARCHAR(20) COMMENT '学生部门',address VARCHAR(50) COMMENT '学生地址'
);
CREATE TABLE score (id INT(10) NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '课程ID',stu_id INT(10) NOT NULL COMMENT '学生ID',c_name VARCHAR(20) COMMENT '课程名',grade INT(10) COMMENT '学生成绩'
);

2.插入数据

INSERT INTO student VALUES( 901,'张老大', '男',1985,'计算机系', '北京市海淀区'),( 902,'张老二', '男',1986,'中文系', '北京市昌平区'),( 903,'张三', '女',1990,'中文系', '湖南省永州市'),( 904,'李四', '男',1990,'英语系', '辽宁省阜新市'),( 905,'王五', '女',1991,'英语系', '福建省厦门市'),( 906,'王六', '男',1988,'计算机系', '湖南省衡阳市');
INSERT INTO score VALUES(NULL,901, '计算机',98),(NULL,901, '英语', 80),(NULL,902, '计算机',65),(NULL,902, '中文',88),(NULL,903, '中文',95),(NULL,904, '计算机',70),(NULL,904, '英语',92),(NULL,905, '英语',94),(NULL,906, '计算机',90),(NULL,906, '英语',85);
1.查询student表的所有记录
SELECT *FROM student;
2.查询student表的第2条到4条记录
SELECT * FROM student LIMIT 1,3;
3.从student表查询所有学生的学号(id)、姓名(name)和院系(department)的信息
SELECT id,NAME,department FROM student;
4.从student表中查询计算机系和英语系的学生的信息
SELECT * FROM student WHERE department='计算机系' OR department='英语系';
5.从student表中查询年龄18~22岁的学生信息
SELECT * FROM student WHERE YEAR(NOW()-birth)>=18 AND YEAR(NOW()-birth)<=22;
6.从student表中查询每个院系有多少人
SELECT department,COUNT(id) FROM student GROUP BY department;
7.从score表中查询每个科目的最高分
SELECT c_name,MAX(grade) FROM score GROUP BY id;
8.查询李四的考试科目(c_name)和考试成绩(grade)
SELECT c_name,grade FROM student,score WHERE student.name='李四' AND student.id=score.stu_id;
9.用连接的方式查询所有学生的信息和考试信息
SELECT student.*,score.c_name,score.grade FROM student LEFT JOIN score ON student.id=score.stu_id;
10.计算每个学生的总成绩
SELECT student.*,SUM(grade) FROM student LEFT JOIN score ON student.id=score.stu_id GROUP BY student.id;
11.计算每个考试科目的平均成绩
SELECT c_name,AVG(grade) FROM score GROUP BY c_name;
12.查询计算机成绩低于95的学生信息
SELECT student.* FROM student,score WHERE student.id=score.stu_id AND score.grade<95;
13.查询同时参加计算机和英语考试的学生的信息

SELECT student.* FROM student,score AS s1,score AS s2 WHERE student.id=s1.stu_id AND student.id=s2.stu_id AND s1.c_name='英语' AND s2.c_name='计算机';
14.将计算机考试成绩按从高到低进行排序
SELECT grade FROM score WHERE c_name='计算机' ORDER BY grade DESC;
15.从student表和score表中查询出学生的学号,然后合并查询结果
SELECT id FROM student UNION SELECT stu_id FROM score;
16.查询姓张或者姓王的同学的姓名、院系和考试科目及成绩
SELECT student.name,student.department,score.c_name,score.grade FROM student,score WHERE student.id=score.stu_id AND student.name LIKE'张%' OR student.name LIKE '王%';
17.查询都是湖南的学生的姓名、年龄、院系和考试科目及成绩
SELECT student.name,student.department,score.c_name,score.grade FROM student,score WHERE student.id=score.stu_id AND student.address LIKE '湖南%';

MySQL查询数据案例相关推荐

  1. mysql 查询数据 程序_MySQL 查询数据

    MySQL 查询数据 MySQL 数据库使用SQL SELECT语句来查询数据. 你可以通过 mysql> 命令提示窗口中在数据库中查询数据,或者通过PHP脚本来查询数据. 语法 以下为在MyS ...

  2. MySQL 查询数据

    MySQL 查询数据 MySQL 数据库使用SQL SELECT语句来查询数据. 你可以通过 mysql> 命令提示窗口中在数据库中查询数据,或者通过PHP脚本来查询数据. 语法 以下为在MyS ...

  3. mysql查询结果作为附件_python3+mysql查询数据并通过邮件群发excel附件

    python3+mysql查询数据并通过邮件群发excel附件 来源:中文源码网    浏览: 次    日期:2018年9月2日 python3+mysql查询数据并通过邮件群发excel附件 本文 ...

  4. MySQL查询数据表中数据记录(包括多表查询)

    MySQL查询数据表中数据记录(包括多表查询) 在MySQL中创建数据库的目的是为了使用其中的数据. 使用select查询语句可以从数据库中把数据查询出来. select语句的语法格式如下: sele ...

  5. mysql查询数据的总记录数

    mysql查询数据的总记录数 领导让获取数据库中的所有记录总数,网上查了一会,看到了很多都是不能执行,我这小性子安耐不住了,开始暴怒,最后的最后看下来应该缺少了一个关键字,还自以为是的想不知道是不是m ...

  6. MySQL查询数据后加上百分号%

    MySQL查询数据后加上百分号% CONCAT(字段, '% ') mysql数字格式化千分号的问题,即每三位一个逗号 SELECT FORMAT('字段',2); mysql四舍五入的问题 roun ...

  7. MySQL查询数据(超详细)

    MySQL查询数据(超详细) 一.简单查询语句 select * from 表名 条件查询语句; 二.多表查询 多张表有同名字段出现在select语句中,同名字段必须带上 "表名 . 字段名 ...

  8. MYSQL 查询数据排序数据和分组数据

    在mysql查询过程中,可以对数据进行过滤,也可以对数据进行排序,可以对数据分组,下面分别讲述排序数据和分组数据例子.1,数据的排序 使用 ORDER BYselect * from where id ...

  9. 使用Connector / Python连接MySQL/查询数据

    使用Connector / Python连接MySQL connect()构造函数创建到MySQL服务器的连接并返回一个 MySQLConnection对象 在python中有以下几种方法可以连接到M ...

最新文章

  1. 能在xcode5中开发基于IOS7sdk的应用程序兼容ios4.3之后的系统吗?
  2. 深入理解 Java 内存模型 JMM
  3. StartService返回2的解决方法
  4. 查看凭证更改记录的三种方式
  5. 信号量CSemaphore的使用
  6. Unity游戏开发——Excel数据读取到游戏中
  7. Usage of #pragma
  8. strel函数c语言写法,全国计算机等级考试二级C语言题型总结(二)——选择循环结构程序设计部分(5篇范文)...
  9. 高中信息技术python及答案_(完整)高中信息技术《Python语言》模块试卷
  10. D365几个功能开发思路
  11. 关于flask入门教程-ajax+echarts实现矩形树图
  12. 第六章 第一节 文本控件
  13. input文本框--去首尾空格
  14. MUSDB18-HQ音乐分轨训练集和MUSDB调用方法
  15. 十年前的AlexNet,今天的NeurIPS 2022时间检验奖
  16. 通俗易懂聊springMVC中的handler是什么
  17. Arista创始人以VMware NSX的“开放框架”为目标瞄准思科
  18. ai智能时代 设计师的出路_适用于网页设计师的人工智能工具
  19. 通过python分析微信好友数据
  20. Java筑基——反射(1):基本类周边信息获取

热门文章

  1. 实验笔记——Vivado仿真模拟
  2. 3.10新学期,新计划
  3. 如何判断云虚拟主机的好坏?
  4. iOS 闪退与内存管理
  5. STR-D6009E
  6. 矩阵数据归一化 java 实现
  7. python numpy创建矩阵、并归一化_NumPy数据的归一化
  8. 美颜SDK中磨皮功能的算法实现
  9. 连接Linux服务器黑屏,win下通过vnc连接linux服务器出现黑屏的问题
  10. oracle中tnslsnr进程,查找处理oracle数据库中僵死进程