美文网首页工作生活
2019070203 限定查询

2019070203 限定查询

作者: liuyihua的技术修炼场 | 来源:发表于2019-07-03 16:08 被阅读0次

    每天学习一点点,进步一点点

    语法如下:

    ③SELECT [DISTINCT] * | 列名称 [别名] , 列名称 [别名] ,... | 数据计算
    ①FROM 数据表 [别名]
    ②[WHERE 限定条件(s)];

    • 在WHERE 子句里面常用的几种判断符: 关系运算(>、< 、>= 、<= 、= 、<> 、!=)
    • 还有其他几种 BETWEEN...AND 、IN 、LIKE 、IS NULL

    范例:查询出工资大于1000的所有的雇员信息

    1、
    SELECT *
    FROM emp
    WHERE sal>1000 ;

    范例:查询出姓名是SMITH的雇员信息

    • 数据内容是区分大小写的

    2、
    SELECT *
    FROM emp
    WHERE ename='SMITH' ;

    范例:查询出工资在10000 ~ 1500之间的所有非销售人员的编号、姓名、职位、工资

    3、
    SELECT empno,ename,job,sal
    FROM emp
    WHERE sal>=1000 AND sal<=1500 AND job!='SALESMAN' ;

    范例:查询出所有不是办事员的员工信息

    4、
    SELECT * FROM emp WHERE job<>'CLERK' ;
    SELECT * FROM emp WHERE job!='CLERK' ;

    范例:查询出所有是办事员的员工信息

    5、
    SELECT * FROM emp WHERE job='CLERK' ;

    范例:查询出职位是办事员或销售人员的信息

    6、
    SELECT * FROM emp WHERE job='CLERK' OR job='SALESMAN' ;

    除了上面的运算符 还有其他的运算符

    1)、范围查询 BETWEEN 最小值 .. AND 最大值;

    • 是带边界的范围;
    • 可以使用在各种数据类型上;

    范例:查询出工资在1000~1500的所有雇员信息

    7、
    SELECT * FROM emp WHERE sal>=1000 AND sal<=1500 ;
    SELECT * FROM emp WHERE sal BETWEEN 1000 AND 1500 ;

    范例:查询所有在1981年雇佣的雇员

    8、
    SELECT * FROM emp WHERE hiredate BETWEEN '01-1月 -81' AND '31-12月 -1981' ;

    2)、空判断:IS NULL、IS NOT NULL;

    • 空:在数据库原理上称之为一个不确定的内容,如果使用null进行任何运算结果都是null。

    范例:查询所有不领取佣金的雇员信息

    9、
    SELECT * FROM emp WHERE comm IS NULL ;

    范例:查询所有领取佣金的雇员信息

    • 应该使用IS NOT NULL 运算符一次性完成检查,而不应该使用组合处理:

    10、
    SELECT * FROM emp WHERE comm IS NOT NULL ;
    SELECT * FROM emp WHERE NOT comm IS NULL ;

    3)、模糊查询:LIKE

    • 使用LIKE 可以实现关键字的检索,而后提供有两个运算匹配符号:
    • “ _ ” :表示匹配任意的一位字符;
    • “ % ” :表示匹配任意的0位、1位或者多位字符;

    范例:查询雇员姓名中以字母A开头的所有员工信息

    11、
    SELECT * FROM emp WHERE ename LIKE 'A%' ;

    范例:查询雇员姓名中以第二个字母A开头的所有员工信息

    12、
    SELECT * FROM emp WHERE ename LIKE '_A%' ;

    • LIKE 进行运算的时候可以针对于各种数据类

    13、
    SELECT * FROM emp WHERE hiredate LIKE '%-81' ;
    SELECT * FROM emp WHERE sal LIKE '%00' ;

    • 如果现在要想进行关键字查询,则可以使用 “%关键字%”的形式完成;

    14、
    SELECT * FROM emp WHERE ename LIKE '%A%' ;

    • 如果在进行关键字检索时没有设置关键字,也就是说设置的是空字符串,则表示查询全部; 当然性能是最差的的,查询全部 全是得用 select * from emp;

    15、
    SELECT * FROM emp WHERE ename LIKE '%%' ;

    4)、范围查询:IN 、NOT IN;

    范例:查询出雇员编号为 7369、7566、7799、9999的雇员

    • 这一操作最初的做法是使用OR

    16、
    SELECT * FROM emp
    WHERE empno=7369 OR empno=7566 OR empno=7839 OR empno=9999 ;

    • 但是如果查询条件过多,查询的复杂度就会提升,那么此时最好的做法是使用IN 来完成:

    17、
    SELECT * FROM emp
    WHERE empno IN (7369,7566,7839,9999) ;

    SELECT * FROM emp
    WHERE empno NOT IN (7369,7566,7839,9999) ;

    NOT IN 中不能有空

    18、
    SELECT * FROM emp
    WHERE empno NOT IN (7369,7566,7839,NULL) ;

    相关文章

      网友评论

        本文标题:2019070203 限定查询

        本文链接:https://www.haomeiwen.com/subject/jvdthctx.html