SQL语句高级(上篇)

SQL高级语句详解

通配符 -- 在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符

                SQL 通配符必须与 LIKE 运算符一起使用

例: 1.以 "A" 或 "L" 或 "N" 开头    [ALN]%

        2.不以 "A" 或 "L" 或 "N" 开头   [!ALN]%

        3.第一个字符之后是 "eorge"    _eorge

TOP 子句 -- TOP 子句用于规定要返回的记录的数目(并非所有的数据库系统都支持 TOP 子句) 

                    SELECT TOP number|percent column_name(s) FROM table_name

                    单number表示取前number个数据|后加percent表示取前百分之number个数据

LIKE 操作符 -- LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式

                        SELECT column_name(s) FROM table_name WHERE column_name

                     (NOT) LIKE pattern(%a%)     

                        "%" 可用于定义通配符(模式中缺少的字母)

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

                    SELECT column_name(s) FROM table_name WHERE column_name

                    IN (value1,value2,...)

BETWEEN 操作符 -- 操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围

                                  这些值可以是数值、文本或者日期(可用于字母顺序)

                                  SELECT column_name(s) FROM table_name WHERE column_name

                                (NOT)BETWEEN value1 AND value2

                                  不同的数据库对 BETWEEN...AND 操作符的处理方式有差异(头尾包含

Alias(别名) -- 通过使用 SQL,可以为列名称和表名称指定别名(Alias)

                           表语法 -- SELECT column_name(s) FROM table_name AS alias_name

                           列语法 -- SELECT column_name AS alias_name FROM table_name

JOIN -- join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据

    下面列出了可以使用的 JOIN 类型,以及它们之间的差异。

  • JOIN: 如果表中有至少一个匹配,则返回行
  • LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
  • RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
  • FULL JOIN: 只要其中一个表中存在匹配,就返回行

INNER JOIN 关键字 -- 在表中存在至少一个匹配时,INNER JOIN 关键字返回行

                                     SELECT column_name(s) FROM table_name1 INNER JOIN table_name2 ON table_name1.column_name=table_name2.column_name

LEFT JOIN 关键字 -- LEFT JOIN 关键字会从左表(table_name1)那里返回所有的行

                                  SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ON table_name1.column_name=table_name2.column_name

RIGHT JOIN 关键字 -- RIGHT JOIN 关键字会右表(table_name2)那里返回所有的行

                                     SELECT column_name(s) FROM table_name1 RIGHT JOIN table_name2 ON table_name1.column_name=table_name2.column_name

FULL JOIN 关键字 -- 只要其中某个表存在匹配,FULL JOIN 关键字就会返回行

                                   SELECT column_name(s) FROM table_name1 FULL JOIN table_name2 ON table_name1.column_name=table_name2.column_name

UNION 和 UNION ALL 操作符 -- UNION 操作符用于合并两个或多个 SELECT 语句的结果集

                                                     UNION 内部的 SELECT 语句必须拥有相同数量的列

                                                    列也必须拥有相似的数据类型

                                                    每条 SELECT 语句中的列的顺序必须相同

                                                    SELECT column_name(s) FROM table_name1 UNION 

                                                    (ALL)SELECT column_name(s) FROM table_name2

                                                    UNION 操作符选取不同的值,允许重复的值使用 UNION ALL

SELECT INTO 语句 -- SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中

                                    SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档

                                    SELECT *  / column_name(s) INTO new_table_name

                                    [IN externaldatabase] FROM old_tablename

CREATE DATABASE 语句 -- CREATE DATABASE 用于创建数据库

                                               CREATE DATABASE database_name

CREATE TABLE 语句 -- CREATE TABLE 语句用于创建数据库中的表

                                        CREATE TABLE 表名称 ( 列名称1 数据类型, 列名称2 数据类型,, .... )

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值