mysql常用数据操作之查
将数据库查询单独开来是因为使用最多,也是技巧最多,同时面试最容易问的部分
简单查询
select * from table_name;
select name,age from table_name;
模糊查询%和_
%表示0个或多个未知字符
_表示单个未知字符
select name,age from table_name where name='王%';查询姓王的人
select name,age from table_name where name='%天%';查询姓名中包含天的人
select name,age from table_name where name='王_';查询姓王且名字是两个字的人
配合比较运算符 > < >= <= = != 和 <>
select name,age from table_name where age>18;
select name,age from table_name where age<18;
select name,age from table_name where age>=18;
select name,age from table_name where age<=18;
select name,age from table_name where age=18;(数据库语句中=就是=,而不是程序语言中的==)
select name,age from table_name where age!=18;或select name,age from table_name where age<>18;(比较运算符中!=,<>都代表排除,因此有两种写法)
数值计算 + - * / %
(太简单了不举例了)
去除重复 distinct
select distinct job from emp;
配合and 和 or
select name,age,sal from table_name where age>30 and sal>2000;(and表示条件必须同时满足)
select name,age,sal from table_name where age>30 or sal>2000;(or表示条件满足其中之一即可)
包含一个条件到另一个条件之间 between x and y
select name,age,sal from table_name where sal between 2000 and 3000;查询工资在2000-3000之间的人
与select name,age,sal from table_name where sal>=2000 and sal<=3000;相同
满足哪些条件 in
select name,age,sal from table_name where sal in(2000,3000,4000);查询工资在哪些人的工资是2000或3000或4000
与select name,age,sal from table_name where sal=2000 or sal=3000 or sal=4000;相同
is null和is not null
select name,age,sal from table_name where age is null;哪些人的年龄为空
select name,age,sal from table_name where age is not null;哪些人的年龄不为空
别名
select ename name,age 年龄 from table_name;
排序 order by 字段名
order by 字段名 asc(升序)/desc(降序)
mysql默认是升序
select ename,age from table_name order by age desc;
分页查询 limit
limit 跳过条数,请求条数
select ename,age,sal from table_name limit 4,2;跳过1,2,3,4条记录,请求5,6条记录
聚合函数 avg max min sum count
select avg(sal) from table_name;查询员工平均工资
select max(sal) from table_name;查询最高工资
select min(sal) from table_name;查询最低工资
select avg(sal) from table_name;查询员工平均工资
select sum(sal) from table_name;查询工资总和
select count(*) from table_name where deptno=30;查询30号部门共有多少员工
分组查询 group by
select avg(sal) from table_name group by deptno;查询每个部门的平均工资
select avg(sal) from table_name where sal>100 group by deptno;查询每个部门的平均工资,要求员工工资高于1000
分组查询支持多字段分组
select deptno,job,avg(sal) from table_name group by deptno,job;查询每个部门下,每种职位的平均工资
聚合函数的条件having
select avg(sal) from table_name group by deptno having avg(sal)>2000;查询每个部门的平均工资,要求只显示平均工资高于2000的部门
子查询(嵌套查询)
即使用一个查询语句的查询结果作为另一个查询语句的条件判断
select * from emp where sal=(select max(sal) from emp);查询表中工资最高的员工信息
关联查询(同时查询多张表的查询方式)
select e.ename,d.dname from emp e,dept d where e.deptno=d.deptno;
等值链接、内连接和外连接
等值链接 select * from A,B where A.x=B.x and A.age>20;
内连接 select * from A join B on A.x=B.x where A.age>20;
select e.ename,d.dname from emp e join dept d on e.deptno=d.deptno;查询每一个员工的姓名对应的部门名
外连接 select * from A left/right join B on A.x=B.x where A.age=20; 外连接就是查询一张表的全部数据和另一张表的交集数据
select e.ename,d.dname from emp e right join dept d on e.deptno=d.deptno;查询所有的部门名和对应的员工名
如果查询的数据是两张表的交集数据用内连接,如果查询的数据是一张表的全部数据和另外一张表的交集数据使用外连接
转载于:https://www.cnblogs.com/WaterGe/p/11259930.html
mysql常用数据操作之查相关推荐
- mysql 查询姓王_mysql常用数据操作之查
将数据库查询单独开来是因为使用最多,也是技巧最多,同时面试最容易问的部分 简单查询 select * from table_name; select name,age from table_name; ...
- mysql 查询和修改组合_## 超详细MySQL常用语句,增删查改
## MySQL常用语句,增删查改,安装配置mysql服务 ***#新手博客,应届生,谢谢支持哟 记得点赞关注哟*** ***-----sql常见命令:--------*** 安装服务:mysqld ...
- mysql四:数据操作
一 介绍 MySQL数据操作: DML ======================================================== 在MySQL管理软件中,可以通过SQL语句中的 ...
- MySQL数据库肖睿版_正版 MySQL数据库应用技术及实战肖睿MySQL数据库数据操作数据恢复备份MySQL数据库优化My...
基本信息 书名:MySQL数据库应用技术及实战 定价:32.00元 作者:肖睿程宁田崇峰 出版社:人民邮电出版社 出版日期:2018-01-01 ISBN:9787#115474223 字数: 页码: ...
- MySQL:数据操作
数据操作 一.输入数据 格式: mysql>INSERT INTO 数据表名 VALUES(输入数据); 例 mysql> INSERT INTO shujuleixing_xiaoshu ...
- [JDBC] MySQL中数据的增查删改(二)
(二)数据库查询 继续图书管理的实验,这里记录关于MySQL的查询操作.主要用到了JSP中的JavaBean和Servlet. 1.在com.action包中新建一个BookBean.java,用于封 ...
- torch.Tensor常用数据操作汇总与自动求梯度
在深度学习中,通常会频繁地对数据进行操作,在PyTorch中,torch.Tensor是存储和变换数据的主要工具(Tensor和NumPy的多维数组非常类似,Tensor提供GPU计算和自动求梯度等更 ...
- Pandas数据分析常用数据操作(3年总结)
原创文章,转载请注明来源,谢谢 导入设置 import odps import numpy as np import pandas as pd import matplotlib as mpl imp ...
- mybatis 2 -常用数据操作
1.写入数据并获取自增ID XML配置: <!-- 写入数据获取自增ID --><insert id="insertLog" parameterType=&quo ...
- Android 常用数据操作封装类案例
1.DbHelper类 继承自SQLiteOpenHelper类,实现对数据库的基本操作 package com.example.utils;import android.content.Contex ...
最新文章
- 【硬件基础】个人感悟+C语言 引入头文件时引号括号的区别
- linux ntfs 挂载 centos,centos linux ntfs iso 挂载
- 超微服务器硬盘红灯_硬盘亮红灯服务器崩溃的解决方法
- 关于netty的FastThreadLocal的思考
- 2014-10-22 NOIP模拟赛
- 二进制类(运算符号的重载)
- 零基础带你学习MySQL—加密函数和系统函数(十六)
- 你真的知道 Python 字符串怎么用吗?
- 直方图规定化的编程实现
- PeopleCert认证证书核验真伪(含ITIL、PRINCE2、DevOps、Scrum……等证书)
- 云服务器搭建MQTT服务器
- excel汇总报表软件
- 全球及中国企业数据存储解决方案行业发展动态及前景规划分析报告2022-2027
- 鲁大师服务器cpu性能排行,鲁大师PC处理器性能排行:AMD撕裂者跑分碾压英特尔, i9 7980XE屈居第二!...
- 别墅家庭无线WiFi覆盖解决方案
- 四、Storm入门之Spout
- cf C. Counting Kangaroos is Fun
- FME 2011预览:新特性 IFMEWorkspaceRunner
- 什么是mac os?它有哪些好的特点?有哪些应用小技巧
- 数据研究:淘宝流量与转化率隐藏的那些秘密