将数据库查询单独开来是因为使用最多,也是技巧最多,同时面试最容易问的部分

简单查询

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;查询所有的部门名和对应的员工名

如果查询的数据是两张表的交集数据用内连接,如果查询的数据是一张表的全部数据和另外一张表的交集数据使用外连接

mysql 查询姓王_mysql常用数据操作之查相关推荐

  1. mysql 查询姓王_MySQL查询语句练习题,测试足够用了

    MySQL查询语句练习题,测试足够用了 博客分类: http://blog.sina.com.cn/s/blog_767d65530101861c.html 1.创建student和score表 CR ...

  2. mysql 查询姓王_MySQL查询语句

    来源于网络... Sutdent表的定义 字段名 字段描述 数据类型 主键 外键 非空 唯一 自增 Id 学号 INT(10) 是 否 是 是 是 Name 姓名 VARCHAR(20) 否 否 是 ...

  3. mysql查询姓王的信息代码_MySQL查询语句练习题

    1.创建student和score表 CREATE  TABLE  student ( id  INT(10)  NOT NULL  UNIQUE  PRIMARY KEY  , name  VARC ...

  4. mysql查询解析过程_MySQL查询执行过程详解

    查询是用户通过设置某些查询条件,从表或其他查询中选取全部或者部分数据,以表的形式显示数据供用户浏览.查询是一个独立的.功能强大的.具有计算功能和条件检索功能的数据库对象.MySQL数据库中,MySQL ...

  5. 数据库作业(1.查询姓‘’王‘’的学生个数;2.查询“数学”比“语文”成绩高的所有学生的学号;)

    SQL查询姓''王''的学生个数 #一.创建学生.班级.成绩表 #二.打开mysql 1.快捷的win+r,输入cmd,打开命令提示符: 2.连接数据库,在cmd种输入:MySQL -u root - ...

  6. php mysql只获取一条数据_php mysql 查询只返回第一条数据

    php mysql 查询只返回第一条数据 $search = mysql_query("select * from `info`"); $search = mysql_fetch_ ...

  7. mysql怎样查表的模式_mysql常用基础操作语法(四)--对数据的简单无条件查询及库和表查询【命令行模式】...

    1.mysql简单的查询:select 字段1,字段2... from tablename; 如果字段那里写一个*,代表查询所有的字段,等同于指定出所有的字段名,因此如果要查询所有字段的数据,一般都是 ...

  8. 用mysql查找姓王的行为轨迹_mysql查询

    –mysql查询练习.sql –学生表 create table student( sno varchar(20) primary key, sname varchar(20) not null, s ...

  9. mysql单表数据列_MySQL 之 数据操作及单表查询

    1.数据操作 (1)insert 增加数据 1. 插入完整数据(顺序插入) 语法一: INSERT INTO 表名(字段1,字段2,字段3-字段n) VALUES(值1,值2,值3-值n); 语法二: ...

最新文章

  1. NetDevOps — PyEZ
  2. etcd — 操作手册
  3. oracle中DECODE与CASE的用法区别
  4. linux基础知识——mmap
  5. poh用计算机,诚实性证明POH:可验证计算的可实现概率解
  6. 美容院店务管理系统帮助门店管理哪些方面 ?
  7. python矩阵连乘_python动态演示动态规划解决矩阵连乘
  8. linux时间戳转换c语言,C语言将时间戳转换成日期时间
  9. 图像检索代码python_python-图像检索
  10. 目前,国内的互联网发展趋势
  11. 雅虎被收购后,Tumblr 前途未卜,准备在所有博客中引入广告
  12. 【SRAM】CubeMX配置STM32H743+IS61WV204816外部扩展SRAM
  13. nvm安装使用及卸载
  14. libusb介绍及简单使用
  15. 有意思的张飞日记-_-
  16. 【文献阅读】Adaptive Quantitative Trading: An Imitative Deep Reinforcement Learning Approach
  17. 产品级项目---银行物业管理系统源码
  18. 用scratch编程一个问答游戏
  19. 久坐屁股会痛者不适合创业
  20. 图像特效---PS图层混合模式之明度模式

热门文章

  1. Linux firefox 中文乱码
  2. 生意参谋数据data,拼多多加密系列参数(anti-content,crawlerInfo),唯品会加密参数compassS破解
  3. Chrome居然是学术利器?一口气推荐15个神级插件赋能科研之路
  4. 基于89C52定时器的方波发生器
  5. [九省联考2018]一双木棋chess
  6. html特殊符号sm,特殊符号之化学元素符号大全
  7. u3d实现滚动下拉(scrollview实现)
  8. Java IO流拷贝视频
  9. mysql和oracle常用操作
  10. android配置vlc_Android : VLC for Android 环境搭建及编译