• SQL 高级语法(一)


    演示数据库

    mysql> SELECT * FROM Websites;
    +----+---------------+---------------------------+-------+---------+
    | id | name          | url                       | alexa | country |
    +----+---------------+---------------------------+-------+---------+
    |  1 | Google        | https://www.google.cm/    |     1 | USA     |
    |  2 | 淘宝          | https://www.taobao.com/   |    13 | CN      |
    |  3 | 菜鸟教程       | http://www.runoob.com/    |  5000 | USA     |
    |  4 | 微博           | http://weibo.com/         |    20 | CN      |
    |  5 | Facebook      | https://www.facebook.com/ |     3 | USA     |
    |  7 | stackoverflow | http://stackoverflow.com/ |     0 | IND     |
    +----+---------------+---------------------------+-------+---------+

    SQL SELECT LIMIT 子句

    定义:

    SELECT LIMIT 子句用于规定要返回的记录数目。

    语法:

    SELECT column_name(s)

    FROM table_name

    LIMIT number;

    示例:

    SELECT * FROM Websites LIMIT 2;

    SQL 通配符

    定义:

    在 SQL 中,通配符与 SQL LIKE 操作符一起使用。

    通配符类型如下:

    通配符描述
    % 替代 0 个或多个字符
    _ 替代一个字符
    [charlist] 字符列中的任何单一字符
    [^charlist]

    [!charlist]
    不在

    使用 SQL % 通配符

    选取所有以字母 ‘https’ 开头的所有网站

    SELECT * FROM Websites WHERE url LIKE 'https%';

    选取所有包含 ‘%oo%’ 的网站;

    SELECT * FROM Websites WHERE url LIKE '%oo%';

    使用 SQL _ 通配符

    选取 name 以一个任意字符开始,然后是 ”oogle“ 的所有用户:

    SELECT * FROM Websites WHERE name LIKE '_oogle';

    使用 SQL [charlist] 通配符

    MySQL 中使用 REGEXPNOT REGEXP 运算符(或 RLIKE 和 NOT RLIKE)来操作正则表达式。

    选取 name 以 ”G“、”F“ 和 ”s“ 开始的所有网站:

    SELECET * FROM Websites WHERE name RLIKE ‘^[GFs]‘;

    SQL IN 操作符

    定义:

    IN 操作符允许在 WHERE 子句中规定多个值。

    语法:

    SELECT column_name (s)

    FROM table_name

    WHERE column_name IN (value1, value2, ...);

    示例:

    SELECT * FROM Websites WHERE name IN ('Google', '菜鸟教程');

    SQL BETWEEN 操作符

    定义:

    BETWEEN 操作符用于选取介于两个值之间的数据范围的值。

    语法:

    SELECT column_name(s)

    FROM table_name

    WHERE column_name BETWEEN value1 AND value2;

    示例:

    BETEEN 操作符:

    选取 alexa 介于 1 和 20 之间的所有网站:

    SELECT * FROM Websites WHERE alexa BETEEN 1 AND 20;

    带有 IN 的 BETWEEN 操作符:

    选取 alexa 介于 1 和 20 之间但 country 不为 USA 和 IND 的所有网站:

    SELECT * FROM Websites WHERE (alexa BETWEEN 1 AND 20) AND country NOT IN ('USA', 'IND');

    带有文本值的 BETWEEN 操作符:

    选取 name 以介于 'A' 和 'H' 之间字母开始的所有网站:

    SELECT * FROM Websites WHERE  name BETWEEN 'A' AND 'H';

    SQL 别名

    定义:

    通过使用 SQL ,可以为表名称或列名称指定别名。

    语法:

    列别名用法:

    SELECT column_name AS alias_name

    FROM table_name;

    表别名用法:

    SELECT column_name

    FROM table_name AS alias_name;

    示例:

    把三个列(url、alexa 和 country)结合在一起,并创建一个名为 "site_info" 的别名:

    SELECT name, CONCAT(url, ',', alexa ',', country) AS site_info FROM Websites;

    参考链接:https://www.runoob.com/sql

  • 相关阅读:
    python 协程
    数据库中的一对多,多对多实例
    source命令
    HTTP 协议报文解析
    html中的body和head有什么区别??
    xml json
    内置函数bytes()
    MySQL中的日期和时间函数
    MySQL中的数值函数
    MySQL中的字符串函数
  • 原文地址:https://www.cnblogs.com/john1015/p/13646411.html
Copyright © 2020-2023  润新知