mysql查询操作1
##1、在已有的表中插入一行记录
insert into tb_name values("",""...);
##2、查询语句的框架和用法
select 字段名
from 表名
where 查询条件
group by 字段名
having 条件
order by [ASC|DESC]
limit [距离第一行的偏移量|返回的行数]
##as表示给字段名起别名
##3、找出比公司平均薪水高的员工的姓名和工资(子查询,子查询语句与条件里面)
第一步:找出公司的平均薪水
select avg(sql) from emp;
第二部:找出薪水大于平均薪水的员工的信息
select ename,sal from emp where sal>(select avg(sql) from emp);
##4、找出每个部门的平均薪水,并且要求显示平均薪水的薪水等级。(子查询,子查询语句在from里面)
##from后面,将查询结果当临时表
第一步:找出每个部门的平均薪水
select deptno,avg(sal) as avgsal
from emp
group by
deptno;
第二步:将上面的查询结果当做临时表t,t表和salgrade s表进行
连接。
select
t.deptno,t.avgsal,s.grade
from
(select deptno,avg(sal) as avgsal
from emp
group by
deptno)t ##from后面只能跟表
join
salgrade s ##字段 新创建的临时表
on ##on 的用法??
t.avgsal between s.losal and s.hisal;
说明:on是用于多表连接查询的,一般是join on ,左右连接或内连接
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
INNER JOIN Orders
ON Persons.Id_P=Orders.Id_P
ORDER BY Persons.LastName
##聚合函数不可以在where后面??为什么?(百度一下)
##where后面接查询条件,而select后面才是接聚合函数的,主要用于对条件进行计算;
##编译器最先执行from找表,再根据where找条件,再根据select找具体内容。
##5、distinct 去除重复记录,它在字段名前面
select distinct job from emp;
##对于job这一列的字段,重复信息去掉显示,并未修改表
select distinct deptno,job from emp;
##对于此表部门编号、职位组成的行不能重复
##distinct前面不能出现字段
select count(distinct job) from emp;
6、分组查询
1).分组查询涉及的两个子句是
-group by
-having
2.group by
2.1)
order by##[表示通过哪个或哪些字段进行排序]
group by##[表示通过哪个或哪些字段进行分组]
2.2例子:找出每个工作岗位的最高薪水【先分组,在用max】
select
max(sal) ##第三步执行
from
emp ##第一步执行
group by
job; ##第二步执行
mysql查询操作1的更多相关文章
- MySQL 查询操作
目录 基本语法 查询常量 查看表达式 查询函数 查询指定字段 查询所有列 列别名 表别名 条件查询 条件查询运算符 逻辑查询运算符 排序与分页 排序查询(order by) 排序方式 limit 分组 ...
- MySQL查询操作——2
-----------查询操作--------------------------- 查询表中的所有字段SELECT * FROM employees; 查询常量值SELECT 100;SELECT ...
- MYSQL查询操作 详细
学习目标 1 掌握select查询所有字段.指定字段的数据 2 掌握消除重复行命令distinct 3 掌握as给字段.表起别名 4 掌握条件查询where后跟比较运算符.逻辑运算符的用法 5 掌握条 ...
- mysql查询操作之单表查询、多表查询、子查询
一.单表查询 单表查询的完整语法: .完整语法(语法级别关键字的排列顺序如下) select distinct 字段1,字段2,字段3,... from 库名.表名 where 约束条件 group ...
- MySQL查询操作
查询执行路径中的组件:查询缓存.解析器.预处理器.优化器.查询执行引擎.存储引擎SELECT语句的执行流程: FROM Clause --> WHERE Clause --> GROUP ...
- MySQL查询操作select
查找记录 SELECT select_expr [,select_expr ...] [ FROM table_references(表的参照) [WHERE where_condition](条件) ...
- C#参数化执行SQL语句,防止漏洞攻击本文以MySql为例【20151108非查询操作】
为什么要参数化执行SQL语句呢? 一个作用就是可以防止用户注入漏洞. 简单举个列子吧. 比如账号密码登入,如果不用参数, 写的简单点吧,就写从数据库查找到id和pw与用户输入一样的数据吧 sql:se ...
- MySQL(三) 数据库表的查询操作【重要】
序言 1.MySQL表操作(创建表,查询表结构,更改表字段等), 2.MySQL的数据类型(CHAR.VARCHAR.BLOB,等), 本节比较重要,对数据表数据进行查询操作,其中可能大家不熟悉的就对 ...
- MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
随机推荐
- Django之ContentType详解
contenttypes 是Django内置的一个应用,可以追踪项目中所有app和model的对应关系,并记录在ContentType表中. models.py文件的表结构写好后,通过makemigr ...
- Nodejs express、html5实现拖拽上传
一.前言 文件上传是一个比较常见的功能,传统的选择方式的上传比较麻烦,需要先点击上传按钮,然后再找到文件的路径,然后上传.给用户体验带来很大问题.html5开始支持拖拽上传的需要的api.nodejs ...
- FZU 2092 收集水晶(记忆化搜索)
Problem 2092 收集水晶 Accept: 101 Submit: 439 Time Limit: 5000 mSec Memory Limit : 32768 KB Problem Desc ...
- opengl学习笔记(三):经过纹理贴图的棋盘
opengl纹理贴图的步骤: 1:创建纹理对象,并为它指定一个纹理 2:确定纹理如何应用到每个像素上 3:启用纹理贴图功能 4:绘制场景,提供纹理坐标和几何图形坐标 注意:纹理坐标必须在RGBA模式下 ...
- Oracle备份恢复之Oracle11G R2用exp无法导出空表解决方法
在11G R2中有个新特性,当表无数据时,不分配segment,以节省空间Oracle当然在执行export导出时,空表则无法导出,但是还是有解决办法的: 解决方法: 一.insert一行,再roll ...
- IO、NIO、AIO理解
摘要: 关于BIO和NIO的理解 最近大概看了ZooKeeper和Mina的源码发现都是用Java NIO实现的,所以有必要搞清楚什么是NIO.下面是我结合网络资料自己总结的,为了节约时间图示随便画的 ...
- mybatis联接查询例子
where判断如果放在最外层就是对连接查询后的结果经行筛选. SELECT * from ( and lw_area.area_id like '35%' ) la LEFT JOIN ( selec ...
- 高并发秒杀系统方案(分布式session)
编程要有一个习惯:做参数校验 所谓的分布式session:就是用redis统一管理session. 我们这里的思路是:把token写入cookie中,客户端在随后的访问中携带cookie,服务端就能根 ...
- iOS中Date和NString的相互转换
必须知道的内容 G: 公元时代,例如AD公元 yy: 年的后2位 yyyy: 完整年 MM: 月,显示为1-12 MMM: 月,显示为英文月份简写,如 Jan ...
- android Thread
1.Thread的三种形式 第一种: class MyThread extends Thread{ @Override public void run(){ Log.d("MainActiv ...