00102 SQL基础:查询


SELECT (DISTINCT) */column 1, column 2 FROM table_name (, table 2...) WHERE condition 1 AND/OR condition 2
/distinct: 可选参数,表示在输出结果中去除重复值

一、 上述基本语言有如下可拓展语言:
  • ORDER BY:让输出结果以某种方式进行排序(一般以某列为基准)
SELECT ... FROM... WHERE... ORDER BY column_name ASC/DESC
           /ASC 升序  可以不写,是默认项
           /DESC 降序
    • 简化写法:
                    SELECT  column 1, column 2... FROM... WHERE... ORDER BY 1 ASC/DESC
                    /1表示select中制定的第一个字段,2、3、4以此类推
    • 多列排序:
                    SELECT ... FROM... WHERE... ORDER BY column1 ASC/DESC, column2 ASC/DESC
                  /同样可以简写为1、2、3
  • COUNT: 统计表里的记录数量
       SELECT COUNT((DISTINCT) */column_name) FROM... WHERE...
            /count的参数是列名或者*
            /distinct参数可以计数非重复项
  • 访问其他用户的表
    • 前提:获得权限——GRANT
            SELECT ... FROM user.table WHERE...
                    /user: 可以代指其他用户、其他数据库或者其他规划
  • 用字段别名来在查询结果中代替原有的字段名,提高查询结果的可读性
      SELECT column_name new_name FROM ... WHERE...
          /new_name是新起的别名,用空格分隔
          /这种改变只在select的结果里反映,并没有改变原有的表     

二、WHERE条件详述:
  • 比较操作符:大于、小于、等于、不等于、大于等于、小于等于
  • 逻辑操作符:用于对SQL关键字进行比较
    • IS NULL
    • BETWEEN...AND... (注意不是is between)
    • IN(list): in的参数是一个list,用圆括号括起来(它比用or连接好几个要快)
    • LIKE: 利用通配符查找近似值,主要有以下两种通配符
      • %:用于替代0个、1个或多个字符
      • _:用于替代一个字符or数字
    • EXIST: 是否存在,它的参数是一个SQL查询语句
            SELECT ... FROM ... WHERE  EXIST ( SELECT ... FROM... WHERE... )
                     /当exist语句为true时再返回总的select结果,否则不返回
                     /要注意,并不是返回符合exist的参数语句的值,而是只有它为真时才返回值,具体返回什么取决于select的字段和where的其他条件  
    • ALL:将一个值与一个集合内的所有值进行比较(要与比较操作符组合使用)
      • 只有当对于集合内每一个值,给定字段和它进行比较的结果都为true时返回该行(相当于好多个AND)
      • ALL的参数一般是一个SQL查询语句
           SELECT ... FROM ... WHERE  column_name >/< ALL( SELECT ... FROM ... WHERE...)
    • ANY: 将一个值与一个集合内的所有值进行比较
      • 只要这个集合内有一个值比较结果为true就返回该行(相当于好多个OR)
      • 参数是 一个SQL查询语句
    • SOME: 和ANY一样,是any的别名
  • 连接操作符:AND、OR
  • 求反操作符:NOT
  • 算术操作符:加减乘除

三、查询结果变形——汇总函数
用途:从各种角度对查询结果进行 简单的统计分析
  • COUNT函数:统计非空字段的数量
    • 与DISTINCT连用可以去重
    • 最后返回一个统计数字
       SELECT COUNT() FROM ... WHERE...
  • SUM函数:对指定字段的指定行的值进行求和,返回求和结果
       SELECT SUM(column_name) FROM ... WHERE...
    • 所处理的字段必须是数值型的
    • 如果对象是字符型,有一些可以默认转化为数值型加总,不能的返回0
  • AVG函数:求平均值
       SELECT AVG(column_name) FROM ... WHERE...
  • MAX函数:返回选定记录中指定字段的最大值
       SELECT MAX(column_name) FROM ... WHERE...
  • MIN函数:返回选定记录中指定字段的最小值,语法同上
以上函数都可以加上AS,来定义一个新的字段名称存储返回结果
     SELECT MAX/SUM/MIN/AVG/COUNT(column_name) AS new_name FROM ... WHERE...

猜你喜欢

转载自blog.csdn.net/shengxiaobufu/article/details/73799109