zoukankan      html  css  js  c++  java
  • SELECT

    SELECT
        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr] ...
        [into_option]
        [FROM table_references
          [PARTITION partition_list]]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}
          [ASC | DESC], ... [WITH ROLLUP]]
        [HAVING where_condition]
        [ORDER BY {col_name | expr | position}
          [ASC | DESC], ...]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]
        [PROCEDURE procedure_name(argument_list)]
        [into_option]
        [FOR UPDATE | LOCK IN SHARE MODE]
    
    into_option: {
        INTO OUTFILE 'file_name'
            [CHARACTER SET charset_name]
            export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name] ...
    }

    SELECT ... INTO Statement

     SELECT ... INTO语句可以让查询结果存储到变量或者文件中:

    Before FROM. Example:

    SELECT * INTO @myvar FROM t1;

    Before a trailing locking clause. Example:

    SELECT * FROM t1 INTO @myvar FOR UPDATE;
    SELECT id, data INTO @x, @y FROM test.t1 LIMIT 1;
    SELECT a,b,a+b INTO OUTFILE '/tmp/result.txt'
      FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
      LINES TERMINATED BY '
    '
      FROM test_table;

     JOIN Clause

    table_references:
        escaped_table_reference [, escaped_table_reference] ...
    
    escaped_table_reference: {
        table_reference
      | { OJ table_reference }
    }
    
    table_reference: {
        table_factor
      | joined_table
    }
    
    table_factor: {
        tbl_name [PARTITION (partition_names)]
            [[AS] alias] [index_hint_list]
      | table_subquery [AS] alias
      | ( table_references )
    }
    
    joined_table: {
        table_reference [INNER | CROSS] JOIN table_factor [join_specification]
      | table_reference STRAIGHT_JOIN table_factor
      | table_reference STRAIGHT_JOIN table_factor ON search_condition
      | table_reference {LEFT|RIGHT} [OUTER] JOIN table_reference join_specification
      | table_reference NATURAL [{LEFT|RIGHT} [OUTER]] JOIN table_factor
    }
    
    join_specification: {
        ON search_condition
      | USING (join_column_list)
    }
    
    join_column_list:
        column_name [, column_name] ...
    
    index_hint_list:
        index_hint [, index_hint] ...
    
    index_hint: {
        USE {INDEX|KEY}
          [FOR {JOIN|ORDER BY|GROUP BY}] ([index_list])
      | {IGNORE|FORCE} {INDEX|KEY}
          [FOR {JOIN|ORDER BY|GROUP BY}] (index_list)
    }
    
    index_list:
        index_name [, index_name] ...
    SELECT * FROM t1 LEFT JOIN (t2, t3, t4)
                     ON (t2.a = t1.a AND t3.b = t1.b AND t4.c = t1.c)

    is equivalent to:

    SELECT * FROM t1 LEFT JOIN (t2 CROSS JOIN t3 CROSS JOIN t4)
                     ON (t2.a = t1.a AND t3.b = t1.b AND t4.c = t1.c)
    SELECT t1.name, t2.salary
      FROM employee AS t1 INNER JOIN info AS t2 ON t1.name = t2.name;
    
    SELECT t1.name, t2.salary
      FROM employee t1 INNER JOIN info t2 ON t1.name = t2.name;

     UNION Clause

    SELECT ...
    UNION [ALL | DISTINCT] SELECT ...
    [UNION [ALL | DISTINCT] SELECT ...]
    mysql> SELECT 1, 2;
    +---+---+
    | 1 | 2 |
    +---+---+
    | 1 | 2 |
    +---+---+
    mysql> SELECT 'a', 'b';
    +---+---+
    | a | b |
    +---+---+
    | a | b |
    +---+---+
    mysql> SELECT 1, 2 UNION SELECT 'a', 'b';
    +---+---+
    | 1 | 2 |
    +---+---+
    | 1 | 2 |
    | a | b |
    +---+---+
  • 相关阅读:
    ffmpeg 视频ts切片生成m3u8
    ffmpeg细节整理记录
    网页前端video播放m3u8(HLS)
    ffmpeg 常用知识点收集
    网络视频m3u8解密及ts文件合并
    DNS地址列表
    mysqladmin 命令详解
    Linux安装MySQL
    MySQL常用权限操作
    linux 常用端口
  • 原文地址:https://www.cnblogs.com/wonchaofan/p/13521134.html
Copyright © 2011-2022 走看看