省份城市试题
#省份表
    -> select * from province;
+----+----------+
| id | province |
+----+----------+
|  1 | 广东     |
|  2 | 湖南     |
|  3 | 湖北     |
+----+----------+
3 rows in set

mysql> #城市表
    -> select * from city;
+----+------+------------+
| id | city | provinceid |
+----+------+------------+
|  1 | 广州 |          1 |
|  2 | 深圳 |          1 |
|  3 | 惠州 |          1 |
|  4 | 长沙 |          2 |
|  5 | 武汉 |          3 |
+----+------+------------+
#获得所有的城市并得出该城市的省
    -> select c.id,c.city,p.province from city c left join province p on c.provinceid=p.id;
+----+------+----------+
| id | city | province |
+----+------+----------+
|  1 | 广州 | 广东     |
|  2 | 深圳 | 广东     |
|  3 | 惠州 | 广东     |
|  4 | 长沙 | 湖南     |
|  5 | 武汉 | 湖北     |
+----+------+----------+
#获得所有省份,并查处该省份所有城市的个数
    -> select p.id,p.province,count(*) from city c left join province p on c.provinceid=p.id group by c.provinceid;
 
+----+----------+----------+
| id | province | count(*) |
+----+----------+----------+
|  1 | 广东     |        3 |
|  2 | 湖南     |        1 |
|  3 | 湖北     |        1 |
+----+----------+----------+

学生分数表

mysql> select * from score;
+----+----------+-------+-------+
| id | username | class | score |
+----+----------+-------+-------+
|  1 | 张三     | 语文  |    81 |
|  2 | 张三     | 数学  |    75 |
|  3 | 李四     | 语文  |    76 |
|  4 | 李四     | 数学  |    90 |
|  5 | 王五     | 语文  |    81 |
|  6 | 王五     | 数学  |   100 |
|  7 | 王五     | 英语  |    90 |
+----+----------+-------+-------+

获得学生的总分数,平均分数
    -> select id,username,sum(score),avg(score) from score group by username;
+----+----------+------------+------------+
| id | username | sum(score) | avg(score) |
+----+----------+------------+------------+
|  1 | 张三     | 156        | 78.0000    |
|  3 | 李四     | 166        | 83.0000    |
|  5 | 王五     | 271        | 90.3333    |
+----+----------+------------+------------+

#获得所有分数都大于80的学生的名字
select * from score group by username having min(score)>80;
+----+----------+-------+-------+
| id | username | class | score |
+----+----------+-------+-------+
|  5 | 王五     | 语文  |    81 |
+----+----------+-------+-------+

select distinct(username) from score where username not in (select username from score where score<80);
+----------+
| username |
+----------+
| 王五     |
+----------+

包含值
 select * from test;
+----+---------+
| id | data    |
+----+---------+
|  1 | 2       |
|  2 | 1,2     |
|  3 | 1,22,23 |
|  4 | 2,34    |
|  5 | 1,2,6   |
+----+---------+
5 rows in set
获得2的所有数据,但不要22等
mysql> select * from test where FIND_IN_SET(2,data);
+----+-------+
| id | data  |
+----+-------+
|  1 | 2     |
|  2 | 1,2   |
|  4 | 2,34  |
|  5 | 1,2,6 |
+----+-------+

常见的mysql数据库sql语句的编写和运行结果的更多相关文章

  1. MySQL 数据库SQL语句——高阶版本2

    MySQL 数据库SQL语句--高阶版本2 实验准备 数据库表配置: mysql -uroot -p show databases; create database train_ticket; use ...

  2. MySQL 数据库SQL语句——高阶版本1

    MySQL 数据库SQL语句--高阶版本 实验准备,数据表配置 mysql -uroot -p show databases; create database train_ticket; use tr ...

  3. MySQL数据库SQL语句基本操作

    一.用户管理: 创建用户: create user '用户名'@'IP地址' identified by '密码'; 删除用户: drop user '用户名'@'IP地址'; 修改用户: renam ...

  4. MySQL数据库sql语句的一些简单优化

    1.查询条件的先后顺序 有多个查询条件时,要把效率高能更精确筛选记录的条件放在后边.因为MySQL解析sql语句是从后往前的(不知是否准确). 例: select a.*,b.* from UsrIn ...

  5. MySQL 数据库--SQL语句优化

    explain查询和分析sql 开发中,为满足一业务功能,使用mysql书写sql时,一条sql往往有多种写法,那么我们就需要选择执行效率比较高的sql. 因此要比较分析sql的执行过程,且同一条sq ...

  6. mySQL数据库Sql语句执行效率检查--Explain命令

    mysql性能的检查和调优方法 Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看SQL语句的执行效 果,可以帮助选择更好的 ...

  7. MYSQL数据库SQL语句集锦

    *特别说明:FILED代表数据表字段,CONDITIONS代表where之后的条件,TABLENAME代表数据表名   []中括号内的内容代表 可有可无. 创建数据库 create  database ...

  8. MySql数据库SQL语句将编码

    -- 查看所有字符编码 SHOW CHARACTER SET; -- 查看创建数据库的指令并查看数据库使用的编码 show create database dbtest; -- 查看数据库编码: sh ...

  9. MySQL数据库sql语句

    零.用户管理: 1.新建用户: >CREATE USER name IDENTIFIED BY 'ssapdrow'; 2.更改密码: >SET PASSWORD FOR name=PAS ...

随机推荐

  1. django project 的快速构建

    2003年,堪萨斯(Kansas)州 Lawrence 城中的一个 网络开发小组 ——World Online 小组,为了方便制作维护当地的几个新闻站点(一般要求几天或者几小时内被建立),Adrian ...

  2. Java并发编程原理与实战十七:AQS实现重入锁

    一.什么是重入锁 可重入锁就是当前持有锁的线程能够多次获取该锁,无需等待 二.什么是AQS AQS是JDK1.5提供的一个基于FIFO等待队列实现的一个用于实现同步器的基础框架,这个基础框架的重要性可 ...

  3. Docker 启动Centos

    docker run -d -e "container=docker" --privileged=true -v /sys/fs/cgroup:/sys/fs/cgroup --n ...

  4. oracle05

    1. 数据处理 说完了所有的查询,下面说说增.删.改. 1.1. Update 在plsql Developer工具中,加上rowid可以更改数据. 使用工具进行更新数据的操作 在工具中更新数据方式一 ...

  5. 键盘ASCII码

    回车键 -- CR 键0x0d   -- 16进制13 -- 10 进制'\r' -- 也可以 换行键 -- LF0x0a   -- 16进制10 -- 10 进制'\n' -- 也可以 esc键   ...

  6. hdu 确定比赛名次(拓扑排序)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1285 确定比赛名次 Time Limit: 2000/1000 MS (Java/Others)    ...

  7. BNUOJ 12756 Social Holidaying(二分匹配)

    题目链接:http://www.bnuoj.com/bnuoj/problem_show.php?pid=12756 Social Holidaying Time Limit: 3000ms Memo ...

  8. GridView Postback后出错Operation is not valid due to the current state of the object.

    一.问题起因 最近项目中有一页面第一次search后正常,但是再次点击其它任何按钮都会报错,亦即postback后页面有问题,经检查是由于页面有一GridView且数据量极大,记录大概有上千条,这儿解 ...

  9. 关于limit_req和limit_conn的区别

    1,首先,limit_req和limit_conn两个模块都是为了来限流的,但是两者不在一个层面,为了搞清楚这个,必须先要弄清楚request和connection的区别,因为在很多情况下,我们把他们 ...

  10. PostgreSQL内核分析——BTree索引

    文中附图参考至<PostgreSQL数据库内核分析> (一)概念描述 B+树是一种索引数据结构,其一个特征在于非叶子节点用于描述索引,而叶子节点指向具体的数据存储位置.在PostgreSQ ...