MySQL的高级查询
高级查询
1.连接查询(对列的扩展)
第一种形式
select * from Info,Nation #会形成笛卡尔积
select * from Info,Nation where Info.Nation = Nation.Code #加入筛选条件
select Info.Code,Info.Name,Sex,Nation.Name from Info,Nation where Info.Nation = Nation.Code
#查询指定列
select Info.Code as '代号',Info.Name as '姓名',Sex as '性别',Nation.Name as '民族',Birthday as '生日' from Info,Nation where Info.Nation = Nation.Code
#换表头
第二种形式:
select * from Info join Nation #join连接,形成笛卡尔积 查询很慢
select * from Info join Nation on Info.Nation = Nation.Code #join关键字
2.联合查询(对行的扩展)
select * from Info where Nation = 'n002'
union #关键字
select * from Info where Code = 'p002'
3.子查询(无关子查询) 如果子查询语句可以单独拿出来执行,就是无关查询
在一个sql语句中有两个子查询,其中一个a查询的结果作为另一个b的
select查询条件,a成为里层查询,b为外层查询或父查询
查询民族为'汉族'的人员信息:
select * from Info where Nation = ( select Code from Nation where Name = '汉族')
查询民族为 '汉族' 或者 '回族' 的人员信息
select * from Info where Nation in (select Code from Nation where Name = '汉族' or Name = '回族')
select * from Info where Nation not in (select Code from Nation where Name = '汉族' or Name = '回族')
#in 关键字 not in不在表里
4.子查询(相关子查询)
查询同一系列的 油耗 要比平均油耗低的汽车信息
子查询
select avg(oil) from Car where Brand = ''
父查询
select * from Car where oil<平均油耗
select * from Car a where a.oil < (select avg(b.oil) from Car b where b.Brand = a.Brand)
#b.Brand 是 查询条件,a.Brand 是 逐条的信息
MySQL的高级查询的更多相关文章
- Mysql 基础 高级查询
在西面内容中 car 和 nation 都表示 表名 1.无论 高级查询还是简单查询 都用 select.. from..语句 from 后面 加表名 可以使一张表也可以是 ...
- MYSQL之高级查询
PHP高级查询 分组查询.联合查询.连接查询.子查询 版权声明:本文为博主原创文章,未经博主允许不得转载.
- MYSQL SQL高级查询技巧
1.UNION,EXCEPT,INTERSECT运算符 A,UNION 运算符 UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表. ...
- python数据库-MySQL数据库高级查询操作(51)
一.什么是关系? 1.分析:有这么一组数据关于学生的数据 学号.姓名.年龄.住址.成绩.学科.学科(语文.数学.英语) 我们应该怎么去设计储存这些数据呢? 2.先考虑第一范式:列不可在拆分原则 这里面 ...
- 关于Mysql的高级查询的操作
前言:作为一名后端的程序员操作数据库的能力是我们基本的技能,而连表查询是我们的这个技能的关键点所在.注意这里顾明思义是对数据的查询的操作 (一).联合查询(关键字union/union all) 什么 ...
- MySQL 数据库 高级查询
1.连接查询select * from Info,Nation #笛卡尔积select * from Info,Nation where Info.Nation=Nation.Code join on ...
- Oracle与Mysql的高级查询与难点sql
一.连接查询 1.内连接 内连接用于返回满足连接条件的所有记录.默认情况下,在执行连接查询时如果没有指定任何连接操作符,那么这些连接查询都属于内连接. Sql代码 1. SELEC ...
- MySQL数据库 : 高级查询
根据某个字段删除重复的数据, 只保留一条: 比如uuid字段有重复的, 需要只保留一条数据, 让uuid字段不能重复, 则首先 group by uuid 查出所有数据的id最小的那条数据,作为dt表 ...
- MySQL常见连接查询
在实际应用中,由于不同的业务需求,一般的select查询语句无法满足要求.所以就需要了解一些MySQL的高级查询方式 内连接 inner join 典型的连接查询,有相等(=)连接和不等(<&g ...
随机推荐
- java 字符串 转码
//xmlStr 为需要转码的字符串 UTF-8 可改为不同的编码格式 如:GBK //亲测可用 仅供参考 String xmlStrs=""; try{ xmlStrs=new ...
- Jsp-Servlet 那一大堆事儿--1
为毛全局变量声明时初始化在try内不能用? import javax.servlet.http .*; import java.io.*; import javax.servlet.*; import ...
- struts2文件下载相关信息
struts.xml文件配置: <span style="font-size:16px;"><?xml version="1.0" encod ...
- ajax轮询session阻塞问题
近来读了几篇关于ASP.NET下Session机制的文章,结合自己的实际应用,有点感想: 在ASP.NET的Session的默认机制下,对同一个SessionID下的用户请求ASP.NE ...
- CSDN中的Bug
简述 在用CSDN的过程中,发现了许许多多的Bug.之前没有做记录,直接反馈给客服了,有时没图说得不太清楚,现在不都追求有图有真相么O(∩_∩)O~,所以在此记录一下. 作为程序员的一份子,Bug对我 ...
- C++ 与设计模式学习(其一)
记得曾经一年前,听到同学再说设计模式,当时觉得不怎么重要,所以就没有去系统的学习,这一放,就是一年,直到前段时间,面试了一个阿里巴巴的职位,要我谈谈对于设计模式的看法. 之后就好好了看了一些文章,好好 ...
- 后Hadoop时代的大数据架构(转)
原文:http://zhuanlan.zhihu.com/donglaoshi/19962491 作者: 董飞 提到大数据分析平台,不得不说Hadoop系统,Hadoop到现在也超过10年 ...
- HTML中的一些常见的事件句柄
onclick 所有类似按钮的表单元素和标记<a>及<area>都支持该处理程序.当用户点击元素时会触发它.如果onclick处理程序返回false,则浏览器不执行任何与按钮或 ...
- 分形树Fractal tree介绍——具体如何结合TokuDB还没有太懂,先记住其和LSM都是一样的适合写密集
在目前的Mysql数据库中,使用最广泛的是innodb存储引擎.innodb确实是个很不错的存储引擎,就连高性能Mysql里都说了,如果不是有什么很特别的要求,innodb就是最好的选择.当然,这偏文 ...
- C++构造函数和析构函数调用虚函数时都不会使用动态联编
先看一个例子: #include <iostream> using namespace std; class A{ public: A() { show(); } virtual void ...