美文网首页
MySQL-高级查询

MySQL-高级查询

作者: 遇明不散 | 来源:发表于2019-06-04 15:08 被阅读0次

嵌套查询(子查询)

把内层的查询结果作为外层的查询条件

select ... from 表名 where 条件(select ....);
示例
# 把攻击值小于平均攻击值的英雄名字和攻击值显示出来
select name,gongji from MOSHOU.sanguo
where 
gongji<(select avg(gongji) from MOSHOU.sanguo);
# 找出每个国家攻击力最高的英雄的名字和攻击值
select name,gongji from moshou.sanguo
where 
(country,gongji) in
(select country,max(gongji) from moshou.sanguo group by country);

多表查询

多个表之间联合查询

// 方式一
select 字段名列表 from 表名列表; (笛卡尔积)
/*
t1 : name -> "A1"  "A2"  "A3"
t2 : name -> "B1"  "B2"
select * from t1,t2;
+------+-------+
| name | name2 |
+------+-------+
| A1   | B1    |
| A1   | B2    |
| A2   | B1    |
| A2   | B2    |
| A3   | B1    |
| A3   | B2    |
+------+-------+
*/

// 方式二
... where 条件
// 显示省和市的详细信息
select sheng.s_name,city.c_name from sheng,city
where
sheng.s_id=city.cfather_id;
// 显示省市县详细信息
select sheng.s_name,city.c_name,xian.x_name from sheng,city,xian
where
sheng.s_id=city.cfather_id and city.c_id = xian.xfather_id;

连接查询

内连接
# 语法格式
select 字段名 from 表1 inner join 表2 on 条件 inner join 表3 on 条件;

# 显示省市详细信息
select sheng.s_name,city.c_name from sheng 
inner join city on sheng.s_id = city.cfather_id;
# 显示省市县详情信息
select sheng.s_name,city.c_name,xian.x_name from sheng 
inner join city on sheng.s_id = city.cfather_id
inner join xian on city.c_id = xian.xfather_id;
外连接

以左(右)表为主显示查询结果,左(右)边的记录全部显示

# 语法格式
select 字段名 from 表1 
left(right) join 表2 on 条件 
left(right) join 表3 on 条件;

# 显示省市详细信息
select sheng.s_name,city.c_name from sheng
left join city on sheng.s_id = city.cfather_id;
# 显示省市县详情信息
select sheng.s_name,city.c_name,xian.x_name from sheng
left join city on sheng.s_id = city.cfather_id
left join xian on city.c_id - xian.xfather_id;

相关文章

  • MySQL-高级查询

    嵌套查询(子查询) 把内层的查询结果作为外层的查询条件 示例 多表查询 多个表之间联合查询 连接查询 内连接 外连...

  • mysql-高级

    1 架构 可插拔架构将查询与存储分离连接层 - 服务层 - 引擎层 - 存储层connections -> con...

  • MYSQL-索引

    MYSQL-索引 概述 用来加快查询的技术很多,其中最重要的是索引。通常索引能够快速提高查询速度。如果不适用索引,...

  • MySql-多表查询

    多表查询分为以下几种: 合并结果集: UNION UNION ALL 连接查询 ...

  • mysql-查询2

    分组查询 group by group by 属性名 [having 条件表达式][ with rollup] “...

  • mysql-查询3

    1.limit限制查询结果条数 1)不指定起始位置 limit 记录数 记录数超过查询结果则显示所有的记录,不会报...

  • mysql-查询1

    1.基本查询语句 select 属性列表 from 表名和视图列表 [where 条件表达式1] [group b...

  • mysql-查询优化

    ref : http://coolshell.cn/articles/1846.html 为查询缓存优化你的查询大...

  • mysql-子表查询

    子查询是将一个查询语句嵌套在另一个查询语句之中。 子查询的结果可为外层查询提供一个范围 子查询中可以包含:IN、N...

  • MYSQL-子查询

    子查询是一个查询语句嵌套在另一个查询语句中。内层查询语句的结果,可以为外层查询语句提供查询条件。 子查询关键字:i...

网友评论

      本文标题:MySQL-高级查询

      本文链接:https://www.haomeiwen.com/subject/wdkhxctx.html