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 ...
随机推荐
- iOS 截屏分享(包含状态栏与不包含状态栏)
iOS8以上的新方法PhotoKit 监听截图相册变化,取最后一张图片:http://www.hangge.com/blog/cache/detail_1515.html PhotoKit 获取本机相 ...
- MapReduce的计数器
第一部分.Hadoop计数器简述 hadoop计数器: 可以让开发人员以全局的视角来审查程序的运行情况以及各项指标,及时做出错误诊断并进行相应处理. 内置计数器(MapReduce相关.文件系统相关 ...
- HDU 2089 - 不要62 - [数位DP][入门题]
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 Time Limit: 1000/1000 MS (Java/Others) Memory Li ...
- codeforces 782B - The Meeting Place Cannot Be Changed
time limit per test 5 seconds memory limit per test 256 megabytes input standard input output standa ...
- hadoop(角色)各个组件配置信息
1)namenode: core-site.xml文件中决定: <property> <name>fs.def ...
- Oracle安装部署之linux OS install oracle database安装脚本
#!/bin/bash#Purpose:Create and config oracle install.#Usage:Log on as the superuser('root') #1.creat ...
- Spring中,使用Java配置的方式进行依赖注入
之前用spring的时候,只知道使用xml的方式,和使用注解的方式,却一直不知道在spring中,还可以使用Java类的方式进行配置.使用Java类的方式,就可以取代xml和注解.使用Java配置是S ...
- 洛谷P4147 玉蟾宫 单调栈/悬线法
正解:单调栈/悬线法 解题报告: ummm这题我当初做的时候一点思路也没有只会暴力出奇迹:D(啊听说暴力好像能水过去呢,,, 然后当初是看的题解,然后学了下悬线法 然后就忘了:D 然后我现在看发现看不 ...
- Spring Boot打war包
然后修改下入口: 这样程序既可以以war也可以以jar的形式run. 右键项目properties,找到项目位置,然后: 然后放到tomcat的webapps的目录下: 然后启动tomcat:star ...
- api文档生成器apidoc的安装和使用
在开发接口的过程中,需要向外发布相应的接口文档.开始的时候使用word来写文档,时间长了发现有几个问题. 1. 编写不方便.每次新增借口的时候都要复制上一个接口,然后再进行修改,一些相同的部分无法复用 ...