Mysql 基础 高级查询
在西面内容中 car 和 nation 都表示 表名
1.无论 高级查询还是简单查询 都用 select.. from..语句 from 后面 加表名 可以使一张表也可以是多张表 表和表之间用逗号隔开
2. 简单查询和高级查询 不是 独立的 高级查询里面 同样可以用到 简单查询
3.简单查询与复杂查询的联系: 简单查询里面 后面的条件 未知时 需要用另一个 查询来代替 这样就变成了高级查询
4.链接查询 和 联合查询的区别:1. 链接查询 连接两张以上的表 输出时 显示在一张表里 ; 联合查询 以另一张表为条件 只输出 一张表的内容
联合查询时 注意 相关查询 : 子查询 和父查询 的关系 父查询 的条件 时子查询 子查询的条件同样引用子查询
2.相同点 关联在一起时 表示必须建立外键关系;
一.链接查询
1.链接查询 对结果集列的扩展
select*from 表名
查询多张表 查询结果 在一张表中显示
select * from info,nation #形成笛卡尔积 缺点 查询速度慢(产生大量冗余数据)
select * from 表1名, 表1名where 表1名.列名=表2名.列名
select * from info,nation where info.code=nation.code
select info.code, info. name, birthday from info,nation where info.code=nation.code
因为 birthday 在两张表里 没有重复 所以可以直接写 (比如简单查询里面)
select * from info join nation on info.nation=nation.code
二.联合查询 union
select 列名名
union
select 列名名
三. 子查询(查询效率高 重要)
父查询 : 外层查询
子查询: 里层查询
子查询 查询出的结果作为父查询的条件
- 无关子查询
子查询和父查询没有关系 子查询可以单独执行
父查询:select *from info where nation=()
子查询: select code from nation where name=’汉族’
select *from info where nation=(select code from nation where name=’汉族’)
②.查询系列名为‘宝马5系’的所有汽车信息
select * from car where brand=(select brand_code from brand where brand_name='宝马5系')
- 相关子查询
子查询在执行的时候 和父查询有关系 子查询不能单独执行
1.查询汽车表中 油耗小于平均油耗的所有汽车信息
父查询: 汽车的信息: select * from car where oil<平均油耗
子查询: 平均油耗; select avg(oil) from car where brand =该系列
select * from car as a where oil<(select avg(oil) from car as b where b.brand=a.brand)
Mysql 基础 高级查询的更多相关文章
- 2-14-1 MySQL基础语句,查询语句
一. SQL概述 结构化查询语言(Structured Query Language)简称SQL 1. 它是一种特殊目的的编程语言 2. 它还是一种数据库查询和程序设计语言 (用于存取数据以及查询.更 ...
- MYSQL SQL高级查询技巧
1.UNION,EXCEPT,INTERSECT运算符 A,UNION 运算符 UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表. ...
- MySQL的高级查询
高级查询 1.连接查询(对列的扩展) 第一种形式select * from Info,Nation #会形成笛卡尔积 select * from Info,Nation where Info.Nati ...
- MYSQL之高级查询
PHP高级查询 分组查询.联合查询.连接查询.子查询 版权声明:本文为博主原创文章,未经博主允许不得转载.
- python数据库-MySQL数据库高级查询操作(51)
一.什么是关系? 1.分析:有这么一组数据关于学生的数据 学号.姓名.年龄.住址.成绩.学科.学科(语文.数学.英语) 我们应该怎么去设计储存这些数据呢? 2.先考虑第一范式:列不可在拆分原则 这里面 ...
- MYSQL基础02(查询)
查询是很大的一块,所以这里我只会写mysql的特点,就我目前使用的情况,MYSQL对标准SQL是比较支持,如果是新手的话,建议去w3school 学习标准SQL. 1.DUAL DUAL是一个虚拟表, ...
- mysql基础之查询缓存、存储引擎
一.查询缓存 "查询缓存",就是将查询的结果缓存下载,如果查询语句完全相同,则直接返回缓存中的结果. 如果应用程序在某个场景中,需要经常执行大量的相同的查询,而且查询出的数据不会经 ...
- 关于Mysql的高级查询的操作
前言:作为一名后端的程序员操作数据库的能力是我们基本的技能,而连表查询是我们的这个技能的关键点所在.注意这里顾明思义是对数据的查询的操作 (一).联合查询(关键字union/union all) 什么 ...
- MySQL 数据库 高级查询
1.连接查询select * from Info,Nation #笛卡尔积select * from Info,Nation where Info.Nation=Nation.Code join on ...
随机推荐
- linux系统命令:yum和apt-get
转:http://my.oschina.net/liuyuanyuangogo/blog/546850 1.linux系统分类 一般来说著名的linux系统基本上分两大类: RedHat系列:Redh ...
- 在nodejs下express 从安装到运行的全过程
安装过程: npm install -gd express npm install -g express-generator express -V //查看版本,现在一般都是4.x系列的 expr ...
- 服务器上的json类型的文件提示找不到
搞Google地图的时候, 本地是可以显示的, 但是到了服务器上地图一直显示不出来, 火狐打开F12,发现是找不到json的文件, 本来还以为是IIS中"请求筛选"的问题,后来发现 ...
- Eclipse 自动补全功能失效解决办法及修改快捷键方法
最近在学习Java,前段时间分盘把电脑能坏了,重装系统后发现我的Eclipse的自动补全的功能失效了,那多麻烦呀,什么都得自己打,于是百度后总结了以下解决方法: 1.点击Window-->Pre ...
- assign与weak区别(面试)
weak 比 assign 多了一个功能就是当属性所指向的对象消失的时候(也就是内存引用计数为0)会自动赋值为 nil ,这样再向 weak 修饰的属性发送消息就不会导致野指针操作crash. 可能不 ...
- Linux文件处理命令
1.权限处理 1.1 方法一 使用+-=的方法 1.1.1权限 rwx r 读 w 写 x 执行 1.1.2用户 ugoa u 所有者 g 用户组 o 其他人 a 表示以上所有 修改文件的方法 例: ...
- HNU 12868 Island (简单题)
题目链接:http://acm.hnu.cn/online/?action=problem&type=show&id=12868&courseid=272 解题报告:输入n*m ...
- iOS开发——多线程篇——多线程介绍
一.进程和线程1.什么是进程进程是指在系统中正在运行的一个应用程序每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 比如同时打开迅雷.Xcode,系统就会分别启动2个进程 通过“活动监 ...
- Hashtable和HashMap类的区别
Hashtable和HashMap类有三个重要的不同之处.第一个不同主要是历史原因.Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现. ...
- 28 GroupSock(NetAddress)——live555源码阅读(四)网络
28 GroupSock(NetAddress)——live555源码阅读(四)网络 28 GroupSock(NetAddress)——live555源码阅读(四)网络 简介 1) NetAddre ...