当前位置:Gxlcms > 数据库问题 > MySQL查询语句

MySQL查询语句

时间:2021-07-01 10:21:17 帮助过:16人阅读

------------恢复内容开始------------

查询emp中的所有表:

  select * from emp;  在日常工作中 不建议使用* 因为查询效率较低

 

常用命令:

  select database(); 查看当前使用的是哪个数据库

技术图片

 

 

   

  \c 命令,结束一条语句。

  exit 命令,退出mysql。

 

  查看创建表的语句:
  show create table emp;

 

  查询语法格式:
    select 字段名1,字段名2,字段名3,.... from 表名;

  注意:标准sql语句中要求字符串使用单引号括起来。虽然mysql支持双引号,尽量别用。

  

  可以给字段名设为中文:

    select ename,sal * 12 as ‘年薪‘ from emp;

技术图片

 

 

 

条件查询。
  语法格式:
    select
      字段,字段...
    from
      表名
    where  
      条件;

执行顺序:先from,然后where,最后select

 

查询工资等于5000的员工姓名?
  select ename,sal from emp where sal = 5000;
技术图片

 

 

 

找出工资在1100和3000之间的员工,包括1100和3000?

  select ename,sal from emp where sal between 1100 and 3000; // between...and...是闭区间 [1100 ~ 3000] 

技术图片

 

 

 

  select ename,sal from emp where sal between 3000 and 1100; // 查询不到任何数据

  between and在使用的时候必须左小右大。

  between and除了可以使用在数字方面之外,还可以使用在字符串方面。
  select ename from emp where ename between ‘A‘ and ‘C‘;

 技术图片

 

 

 

找出哪些人津贴为NULL?
  在数据库当中NULL不是一个值,代表什么也没有,为空。
  空不是一个值,不能用等号衡量。
  必须使用 is null或者is not null
    select ename,sal,comm from emp where comm is null;

技术图片

 

 

 

找出工作岗位是MANAGER和SALESMAN的员工?
  select ename,job from emp where job = ‘MANAGER‘ or job = ‘SALESMAN‘;   or或者的意思

技术图片

 

 

 

in等同于or:找出工作岗位是MANAGER和SALESMAN的员工?
  select ename,job from emp where job = ‘SALESMAN‘ or job = ‘MANAGER‘;
  select ename,job from emp where job in(‘SALESMAN‘, ‘MANAGER‘);

  select ename,job,sal  from emp where sal in(800, 5000); // in后面的值不是区间,是具体的值。

技术图片

 

 

 

  not in: 不在这几个值当中。
    select ename,job from emp where sal not in(800, 5000);

 

模糊查询like ?
  找出名字当中含有O的?
    (在模糊查询当中,必须掌握两个特殊的符号,一个是%,一个是_)
        %代表任意多个字符,_代表任意1个字符。

 

排序(升序、降序)

  按照工资升序,找出员工名和薪资?
    select
      ename,sal
    from
      emp
    order by
      sal;

排序:默认就是升序

------------恢复内容结束------------

MySQL查询语句

标签:一个   就是   员工   技术   查看   ima   --   个数   建议   

人气教程排行