zoukankan      html  css  js  c++  java
  • 一起学习SQL查询系列之一基本查询(上)

    (1)从表中检索所有行和列

    问题

        查看一个表中的所有数据。

    解决方案

        对表使用SELECT语句并使用特殊字符“*”。

    select * 
    from emp

    讨论

        SQL中的“*”符号是具有特殊意义的。使用它可返回指定表中的每一列。这里由于没有WHERE字句,所以将返回表中的每一行。还有一种替代方法是分别列出每一列。

    select empno,ename,job,sal,mgr,hiredate,comm,deptno
    from emp

        在交互执行的查询中,使用SELECT *更容易一些。然而,在编写程序代码的时候最好是分别指定每一列,它们的性能都是一样的。但是,显示的指定列就会更清楚查询中返回了哪些列。同样,其他用户,而不是代码编写者自己,也更容易理解该查询。

    (2)从表中检索部分行

    问题

        从表中查询满足特定条件的行。

    解决方案

        使用WHERE字句指定要保留哪些行。例如,要查看部门号码为10的所有员工的信息。

    select *
    from emp
    where deptno = 10

    讨论

        利用WHERE子句可以只检索用户感兴趣的行,如果WHERE子句中的表达式在某行为真,则返回该行。

        大多数厂商都支持通用的运算符,例如:=, <, >, <=, >=, !, <>。另外,如果要查询满足多种条件的行,可以使用AND,OR或圆括号。

    (3)查找满足多种条件的行

    问题

        查找满足多种条件的行。

    解决方案

        使用WHERE子句以及OR和AND子句。例如,如果要查询部门10中的所有员工的信息,所有得到提成的员工信息,以及部门20中工资不超过$2000元的员工信息,可使用如下代码:

    select *
    from emp
    where deptno = 10
          or comm is not null
          or sal <= 2000 and deptno=20

    讨论

        可以使用AND,OR和圆括号的组合来查询满足多个条件的行。在解决方案的例子中,WHERE子句查找满足下列条件的行:

    • DEPTNO字段为10,或者
    • COMM字段为NULL,或者
    • 工资最多为$2000,并且DEPTNO字段为20

    (4)从表中检索特定的列

    问题

        查询一个表中特定列的指而不是所有列的值。

    解决方案

        指定感兴趣的列。例如,只查询员工的姓名,部门号和工资:

    select ename,deptno,sal
    from emp

    讨论

        通过在SELECT子句中指定列,可以保证不会返回一些无关的数据。在通过网络检索数据时这一点很重要,因为这样可以避免检索不需要的数据时带来的时间浪费。

    (5)为列提供有意义的名称

    问题

        修改查询返回的列名使其更具有可读性并且容易理解。例如查询每个员工的工资和提成

    select sal,comm
    from emp

        “sal”是什么?是”sale”的缩写?还是某个人的名字?什么是“comm”,是表示“communication”吗?结果的标签应该更明确些。

    解决方案

        要改变查询结果的列名,可以按这种格式使用AS关键字:原列名 AS 新列名。一些数据库不需要使用AS,但是所有的数据库都接收这种用法。

    select sal as salary, comm as commission
    from emp 
  • 相关阅读:
    【Codechef】Chef and Bike(二维多项式插值)
    USACO 完结的一些感想
    USACO 6.5 Checker Challenge
    USACO 6.5 The Clocks
    USACO 6.5 Betsy's Tour (插头dp)
    USACO 6.5 Closed Fences
    USACO 6.4 Electric Fences
    USACO 6.5 All Latin Squares
    USACO 6.4 The Primes
    USACO 6.4 Wisconsin Squares
  • 原文地址:https://www.cnblogs.com/xchsp/p/2959580.html
Copyright © 2011-2022 走看看