(-1) 写在前面

这篇随笔的数据使用的是http://blog.csdn.net/friendan/article/details/8072668#comments里的,里面有一些常见的select查询练习题。

我使用的是mysql自带的命令行

(1)数据准配

student 表

+---------+-----------+------+------+--------------+

| sno     | Sname     | Ssex | Sage | Sdept        |

+---------+-----------+------+------+--------------+

| 9512101 | 李勇|男|   19 |计算机系|

| 9512102 | 刘晨|男|   20 |计算机系|

| 9512103 | 王敏|女|   20 |计算机系|

| 9521101 | 张力|男|   22 |信息系|

| 9521102 | 吴宾|女|   21 |信息系|

| 9521103 | 张海|男|   20 |信息系|

| 9531101 | 钱小力|女|   18 |数学系|

| 9531102 | 王大力|男|   19 |数学系|

+---------+-----------+------+------+--------------+

course表

+-----+--------------------+-------+

| Cno | Cname              | Hours |

+-----+--------------------+-------+

| c01 | 计算机文化学|    70 |

| c02 | VB                 |    90 |

| c03 | 计算机网络|    80 |

| c04 | 数据库基础|   108 |

| c05 | 高等数学|   180 |

| c06 | 数据结构|    72 |

+-----+--------------------+-------+

SC表

+---------+------+-------+

| Sno     | Cno  | Grade |

+---------+------+-------+

| 9512101 | C01  |    90 |

| 9512101 | C02  |    86 |

| 9512101 | C06  |  NULL |

| 9512102 | C02  |    78 |

| 9512102 | C01  |    82 |

| 9512102 | C02  |    75 |

| 9512102 | C04  |    92 |

| 9512102 | C05  |    50 |

| 9521103 | C02  |    68 |

| 9521103 | C06  |  NULL |

| 9531101 | C01  |    80 |

| 9531101 | C05  |    95 |

| 9531102 | C05  |    85 |

+---------+------+-------+

(2)问题及解答

查询计算机系男生修了"数据库基础"的学生的姓名、性别、成绩。

第一种方式:

SELECT Sname 姓名,Ssex性别,SC.Grade成绩

desc select distinct student.sno,student.ssex,SC.cno,SC.grade from studen t,SC,course where

student.sdept="计算机系" and student.ssex="男" and

student.sno = SC.sno and SC.cno = (select cno from course where cname = "数据库基础")\G;

第二种方式

desc select b.sno,b.ssex,a.grade from (select sno,ssex,sname from student) as b,

(select sno,grade from SC where

cno = (select cno from course where cname= "数据库基础") ) as a where a.sno = b.sno \G;

(3) 总结

通常嵌套查询推荐使用join...on...语句,这样会减少临时表的创建,因为select子句会创建临时表

上述语句虽然都没使用join...on...语句,第二种方式还是比第一种方式少创建了一张临时表,

并且第二种方式将筛选条件具体到单表上,思路清晰,条件明确,可读性也非常好,性能也是优于第一种方式的。

mysql sql嵌套_mysql SQL优化之嵌套查询-遁地龙卷风相关推荐

  1. mysql 慢查询优化_MySQL 性能优化之慢查询

    性能优化的思路 首先需要使用慢查询功能,去获取所有查询时间比较长的SQL语句 其次使用explain命令去查询由问题的SQL的执行计划(脑补链接:点我直达1,点我直达2) 最后可以使用show pro ...

  2. MySQL索引系列--索引的优化--LIKE模糊查询

    原文网址:MySQL索引系列--索引的优化--LIKE模糊查询_IT利刃出鞘的博客-CSDN博客 简介         本文介绍MySQL的LIKE模糊查询索引的优化.主要是索引失效的解决方案. 索引 ...

  3. mysql 嵌套查询性能_mysql SQL优化之嵌套查询-遁地龙卷风

    (-1) 写在前面 这篇随笔的数据使用的是http://blog.csdn.net/friendan/article/details/8072668#comments里的,里面有一些常见的select ...

  4. mysql 慢查询sql实例_Mysql sql慢查询监控脚本代码实例

    1.修改my.cnf #整体的效果,全局开启表和日志文件都写,但是对于general_log只写表,对于slow_query_log,表和日志文件都记录. general_log=1#开启mysql执 ...

  5. mysql完成未完成_MYSQL SQL模式 (未完成)

    设置和查询SQL模式 通过修改sql_mode变量的值来改变SQL模式. SQL模式可以在全局级别下设置,也可以在会话级别下设置.在数据库启动时和数据库运行时都可以对sql_mode的值进行修改. 在 ...

  6. mysql locate索引_MYSQL索引优化

    1.查看sql的执行频率 MySQL 客户端连接成功后,通过 show [session|global] status 命令可以提供服务器状态信息.show [session|global] stat ...

  7. mysql 连接 监控_mysql监控优化(一)连接数和缓存

    一.mysql的连接数 MYSQL数据库安装完成后,默认最大连接数是100,一般流量稍微大一点的论坛或网站这个连接数是远远不够的,连接数少的话,在大并发下连接数会不够用,会有很多线程在等待其他连接释放 ...

  8. mysql架构深入_mysql性能优化2:深入认识mysql体系架构

    前言 本文将重点梳理mysql的体系架构,便于了解mysql的实现原理. Mysql体系结构 Client Connectors 接入方 支持协议很多 Management Serveices &am ...

  9. mysql concat 性能_MySQL性能优化(一)

    性能优化一共有6个点: 1.MySQL基础操作 2.常用的SQL技巧 3.SQL语句优化 4.MySQL数据库优化 5.Myisam表锁 6.MySQL服务器优化 后期将逐步补全今天先分享下1 1.M ...

  10. mysql double 索引_MySQL架构优化实战系列1:数据类型与索引调优全解析

    一.数据类型优化 数据类型 整数 数字类型:整数和实数 tinyint(8).smallint(16).mediuint(24).int(32).bigint(64) 数字表示对应最大存储位数,如 t ...

最新文章

  1. 武汉工程大学认识实习报告计算机,武汉工程大学化工认识实习报告
  2. 网站SEO优化没有捷径!
  3. [C#]最简单的Base64加密解密
  4. 2021届秋招算法岗真的要灰飞烟灭了吗?
  5. 做一个略调皮的个人主页--结构篇
  6. 未定义标识符 stringc/c++(20)_天津港20款丰田塞纳四驱顶配现车价格优惠
  7. 也谈基于Web的含工作流项目的一般开发流程
  8. 三、Linux常用命令——权限管理命令
  9. 【语音分析】基于matlab倒谱分析与MFCC系数计算【含Matlab源码 556期】
  10. java过滤空号了停机号_手机空号、停机、注销,空号检测为你去除无效号码
  11. 迅为恩智浦iTOP-IMX6开发平台
  12. CentOS查看端口
  13. 复联4定档 4.24——十一年21部漫威电影,用数据为你梳理口碑、票房、主演最佳......
  14. SpringCloud蓝绿发布
  15. Twitter上热门的技巧与思路
  16. linpack测试软件,【分享】linpack ——intel的pc算力测试软件
  17. 苹果计算机快捷键设置在哪里,苹果手机快捷键小方块怎么设置 【设置方法】...
  18. 微信支付--网页版-V3-(1)
  19. HTML5编写船上航行,描写帆船航行的诗句
  20. 6.1_[Java 数组]-数组与二重循环和鸡兔同笼及冒泡排序

热门文章

  1. 深入剖析分布式事务一致性
  2. 什么是内部类?内部类的种类?内部类的作用?
  3. 高新企业房产税土地使用税优惠。
  4. 迅雷“系统磁盘缓存已满”,跟360有关
  5. C++:opencv 人脸检测
  6. typeScript 析构表达式
  7. 黑马优购小程序之分类模块
  8. 仙道录 第一卷 天道门 第三章 天道门
  9. ns3:搭建vanet的移动模型
  10. nashorn 和 delight-nashorn-sandbox 学习笔记