• SQL基础(2)


    1. SQL TOP

    (1)TOP子句

    • OP 子句用于规定要返回的记录的数目

    • 对于拥有数千条记录的大型表来说,TOP 子句是非常有用的。

    • 注释:并非所有的数据库系统都支持 TOP 子句。

    (2)SQL Server的语法

    • SELECT TOP number|percent column_name(s) FROM table_name

    (3)实例

    • SELECT TOP 2 * FROM Persons

    • SELECT TOP 50 PERCENT * FROM Persons


    2.SQL LIKE

    (1)LIKE操作符

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

    (2)语法

    • SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern

    (3)实例

    • SELECT * FROM Persons WHERE City LIKE 'N%'

    • SELECT * FROM Persons WHERE City LIKE '%g'

    • SELECT * FROM Persons WHERE City LIKE'%lon%'

    • SELECT * FROM Persons WHERE City NOT LIKE'%lon%'


    3.SQL通配符

    (1)通配符

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

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

    • 在 SQL 中,可使用以下通配符:

    通配符

    描述

    %

    替代一个多个字符

    _

    替代一个字符

    [charlist]

    字符列中的任何单一字符

    [^charlist]

    或者

    [!charlist]

    不在字符列中的任何单一字符


    (2)使用 % 通配符

    • SELECT * FROM Persons WHERECity LIKE 'Ne%'

    • SELECT * FROM Persons WHERECity LIKE '%lond%'

    (3)使用 _ 通配符

    • SELECT * FROM Persons WHEREFirstNameLIKE '_eorge'

    • SELECT * FROM Persons WHERELastNameLIKE 'C_r_er'

    (4)使用 [charlist] 通配符

    • SELECT * FROM Persons WHERECity LIKE '[ALN]%'

    • SELECT * FROM Persons WHERECity LIKE '[!ALN]%'


    4.SQL IN

    (1)IN 操作符

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

    (2)语法

    • SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,...)

    (3)实例

    • SELECT * FROM Persons WHERE LastName IN ('Adams','Carter')


    5.SQL BETWEEN

    (1)BETWEEN操作符

    • 操作符 BETWEEN... AND会选取介于两个值之间的数据范围。这些值可以是数值文本或者日期

    (2)语法

    • SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2

    (3)实例

    • SELECT * FROM Persons WHERE LastName BETWEEN 'Adams' AND 'Carter'

    • SELECT * FROM Persons WHERE LastName NOT BETWEEN 'Adams' AND 'Carter'

    (4)重要事项

    • 不同的数据库对 BETWEEN...AND 操作符的处理方式是有差异的。


    6.SQL Aliases

    (1)SQL Aliases(别名)

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

    (2)语法

    • 表的 SQL Alias 语法:

      SELECT column_name(s) FROM table_name ASalias_name

    • 列的 SQL Alias 语法:

    SELECT column_name AS alias_nameFROMtable_name

    (3)实例

    • SELECT LastName AS Family, FirstName ASName FROM Persons


    7.SQL JOIN

    (1)SQL JOIN

    • SQL JOIN用于根据两个或多个表中的之间的关系,从这些表中查询数据。

    (2)Join 和 Key

    • 有时为了得到完整的结果,我们需要从两个或更多的表中获取结果。我们就需要执行 join。

    • 数据库中的表可通过将彼此联系起来。主键(PrimaryKey)是一个,在这个列中的每一行的值都是唯一的。在表中,每个主键的值都是唯一的。这样做的目的是在不重复每个表中的所有数据的情况下,把表间的数据交叉捆绑在一起。

    (3)引用两个表

    • SELECT Persons.LastName,Persons.FirstName, Orders.OrderNo FROMPersons, Orders WHERE Persons.Id_P = Orders.Id_P

    (4)使用 Join

    • SELECT Persons.LastName,Persons.FirstName, Orders.OrderNo FROM Persons INNER JOIN Orders ON Persons.Id_P =Orders.Id_P ORDER BY Persons.LastName

    • 注释:INNER JOIN 与 JOIN 是相同的。

    (5)不同的 SQL JOIN

    除了我们在上面的例子中使用的 INNER JOIN(内连接),我们还可以使用其他几种连接。下面列出了您可以使用的 JOIN 类型,以及它们之间的差异。

    • JOIN: 如果表中有至少一个匹配,则返回行

    • LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行

    • RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行

    • FULL JOIN: 只要其中一个表中存在匹配,就返回行


    8.SQL INNER JOIN

    (1)SQL INNER JOIN关键字

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

    (2)INNER JOIN 关键字语法

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

    (3)实例

    • SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
      FROM PersonsINNER JOIN OrdersON Persons.Id_P=Orders.Id_PORDER BY Persons.LastName
    • INNER JOIN 关键字在表中存在至少一个匹配时返回行。如果 没有匹配,就不会列出这些行。


    9.SQL LEFT JOIN

    (1)LEFT JOIN 关键字

    • LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。

    (2)LEFT JOIN 关键字语法

    • SELECT column_name(s)
      FROM table_name1LEFT JOIN table_name2 
      ON table_name1.column_name=table_name2.column_name
    • 注释:在某些数据库中, LEFT JOIN 称为 LEFT OUTER JOIN

    (3)实例

    • SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
      FROM Persons
      LEFT JOIN Orders
      ON Persons.Id_P=Orders.Id_P
      ORDER BY Persons.LastName
    • LEFT JOIN 关键字会从左表 (Persons) 那里返回所有的行,即使在右表 (Orders) 中没有匹配的行。


    10.SQL RIGHT JOIN

    (1)SQL RIGHT JOIN关键字

    • RIGHT JOIN 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行。

    (2)SQL RIGHT JOIN关键字语法

    • SELECT column_name(s)
      FROM table_name1RIGHT JOIN table_name2 
      ON table_name1.column_name=table_name2.column_name
    • 注释:在某些数据库中, RIGHT JOIN 称为RIGHT OUTER JOIN

    (3)实例

    • SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
      FROM PersonsRIGHT JOIN OrdersON Persons.Id_P=Orders.Id_PORDER BY Persons.LastName
    • RIGHT JOIN 关键字会从右表 (Orders) 那里返回所有的行,即使在左表 (Persons) 中没有匹配的行。

  • 相关阅读:
    sql交集、差集、并集
    控件自适应文本宽度
    pivot列行转换,自动计算分组,解决groupby问题
    echart-scatter使用散点图,带坐标和项目名称
    下载文件根据浏览器判断文件名,解决兼容性问题
    sql中类型转换涉及的性能差异之convert和cast
    js使用正则表达式对文本框进行限制输入
    Aspose.Words.dll根据模板生成word详解
    Windows服务开发
    SqlBulkCopy学习(导入海量数据的类)
  • 原文地址:https://www.cnblogs.com/ipetergo/p/6713338.html
Copyright © 2020-2023  润新知