mysql4.1数据库_MySQL数据库练习-4.1
查有成绩的学生信息
分析:这道题可以用到in或者exists的用法,主要就是筛选出sc表中的sid,然后查询出student中存在上一步查询出来的sid的数据
IN()用法: 只执行一次,它查出B表中的所有id字段并缓存起来。之后,检查A表的id是否与B表中的id相等,如果相等则将A表的记录加入结果集中,直到遍历完A表的所有记录。在这里,我们的sc表数据量很少,但是当sc表数据很大的时候不适合IN()用法,因为它会吧sc表的数据全部遍历一边.
select * fromstudentwhere student.sid in (select sc.sid from sc);
查询结果;
+------+--------+---------------------+------+
| SId | Sname | Sage | Ssex |
+------+--------+---------------------+------+
| 01 | 赵雷 | 1990-01-01 00:00:00 | 男 |
| 02 | 钱电 | 1990-12-21 00:00:00 | 男 |
| 03 | 孙风 | 1990-12-20 00:00:00 | 男 |
| 04 | 李云 | 1990-12-06 00:00:00 | 男 |
| 05 | 周梅 | 1991-12-01 00:00:00 | 女 |
| 06 | 吴兰 | 1992-01-01 00:00:00 | 女 |
| 07 | 郑竹 | 1989-01-01 00:00:00 | 女 |
+------+--------+---------------------+------+
EXISTS()用法: exists()会执行A.length次,它并不缓存exists()结果集,因为exists()结果集的内容并不重要,重要的是其内查询语句的结果集空或者非空,空则返回false,非空则返回true,当B表比A表数据大时适合使用exists(),因为它没有那么多遍历操作,只需要再执行一次查询就行.
select * fromstudentwhere exists (select sc.sid from sc where student.sid = sc.sid);
查询结果:
+------+--------+---------------------+------+
| SId | Sname | Sage | Ssex |
+------+--------+---------------------+------+
| 01 | 赵雷 | 1990-01-01 00:00:00 | 男 |
| 02 | 钱电 | 1990-12-21 00:00:00 | 男 |
| 03 | 孙风 | 1990-12-20 00:00:00 | 男 |
| 04 | 李云 | 1990-12-06 00:00:00 | 男 |
| 05 | 周梅 | 1991-12-01 00:00:00 | 女 |
| 06 | 吴兰 | 1992-01-01 00:00:00 | 女 |
| 07 | 郑竹 | 1989-01-01 00:00:00 | 女 |
+------+--------+---------------------+------+
这道题做完也可以得到一个结论:
IN()适合B表比A表数据小的情况;
EXISTS()适合B表比A表数据大的情况
以上
mysql4.1数据库_MySQL数据库练习-4.1相关推荐
- mysql新加不了数据库_MySQL数据库之mysql增加新用户无法登陆解决方法
本文主要向大家介绍了MySQL数据库之mysql增加新用户无法登陆解决方法 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 今天安装openstack folsom版本,安装完m ...
- mysql命令导出数据库_MYSQL 数据库导入导出命令
在不同操作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生.所以一般推荐用SQL脚本形式导入.下面分别介绍两种方法. MySQL命令行导出数据库 1,进入MySQL目录下的bin ...
- mysql通过局域网访问数据库_MySQL数据库之局域网内访问同一个mysql数据库
本文主要向大家介绍了MySQL数据库之局域网内访问同一个mysql数据库 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 局域网内访问同一个mysql数据库. 一.运行cmd,输 ...
- yum删除mysql数据库_MySQL数据库之Centos中彻底删除Mysql(rpm、yum安装的情况)
本文主要向大家介绍了MySQL数据库之Centos中彻底删除Mysql(rpm.yum安装的情况) ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 我用的centos6,mysq ...
- mysql test数据库_mysql数据库test
Re介绍一下CentOS下MySQL数据库的安装与配置方法 MySQL数据库配置的具体步骤: 1.编辑MySQL的配置文件,使用vi /etc/my.cnf [root@sample ~]# vi / ...
- mysql利用binlog删除数据库_MySQL数据库之mysql手动删除BINLOG的方法
本文主要向大家介绍了MySQL数据库之mysql手动删除BINLOG的方法 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 在MySQL中执行以下命令: 复制代码 代码如下: P ...
- 我的世界使用mysql数据库_mysql数据库常用命令笔记
连接数据库:mysql -h localhost -u root -p 000000 退出:exit; \q; quit; SET foreign_key_checks = 0; 禁用外键 ...
- mysql数据库状态如何监控数据库_MySQL数据库之zabbix3.2监控MYSQL状态
本文主要向大家介绍了MySQL数据库之zabbix3.2监控MYSQL状态 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 一.概述 zabbix自带的MySQL插件来监控mys ...
- mysql 创建相同数据库_mysql数据库找出相同数据MySQL常用操作
一.MYSQL的命令行模式的设置:桌面->我的电脑->属性->环境变量->新建-> Path=";pathmysqlbin;"其中path为MySQL ...
- 怎么进入命令行操作mysql数据库_MySQL数据库之如何用命令行进入mysql具体操作步骤...
本文主要向大家介绍了MySQL数据库之如何用命令行进入mysql具体操作步骤 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 如何用命令行进入mysql?最近无意在论坛上看到有朋 ...
最新文章
- Java深入了解String对象
- [转] linux下.tar .gz .tgz .bz2 .bz等解、压包命令详解
- 「Swift」笔记第二章 Basic Operators
- python众数问题给定含有n个元素的多重集合s_2-1 问题描述:给定含有n个元素的多重集合S - 下载 - 搜珍网...
- 低压抽屉柜常见故障处理方法_低压配电设备常见故障分析,处理办法介绍
- 如何利用开源项目,帮助企业免费搭建小程序官网
- VERP中建立集合collection
- SQL学习笔记四之MySQL数据操作
- Thymeleaf-extras-Spring Security 权限控制
- sop8封装尺寸图_IC封装原理及功能特性汇总
- 对象转JSON首字母大写
- SD卡驱动-基础知识
- 中国传统四大菜系之:淮扬菜
- RecordCount
- GitHub下载提速
- dns劫持教您dns被劫持如何修复、dns劫持如何修复
- 搭配Online:瑞幸昔日“盟友”神州优车,与北汽集团达成战略合作
- 关于游戏打击感的帖子[转]
- vray物理相机具体参数
- jit和jitx区别_JIT模式
热门文章
- C# 中的委托和事件 (转)
- python 列表生成式 字典生成式
- 无计算机权限无法更改时间,Win10电脑没权限不允许更改时间怎么办?Win10获取更改时间权限的方法...
- Android Vendor Test Suite (VTS) 作用及测试方法
- Linux内核之capabilities能力
- Glib2之spec编译打包rpm(九)
- iOS平台一套完善的Crash Report解决方案
- python之heapq
- Linux网络配置与远程连接
- 代码证年审 年报 附文档 短消息类服务接入代码 电信业务资源综合管理系统用户手册-码号年报 (码号使用单位)