SQL语法

作者: 晨曦诗雨 | 来源:发表于2018-11-12 11:02 被阅读140次

    SELECT语句

    SELECT 列名称 FROM 表名称

    SQL 语句对大小写不敏感。SELECT 等效于 select

    • 如需获取名为 "LastName" 和 "FirstName" 的列的内容(从名为 "Persons" 的数据库表),请使用类似这样的 SELECT 语句:

       SELECT LastName,FirstName FROM Persons 
      
       获取所有的列
       SELECT *  FROM Persons
      

    SELECT DISTINCT 语句

    • 在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。
      关键词 DISTINCT 用于返回唯一不同的值。

      SELECT DISTINCT 列名称 FROM 表名称
      

    WHERE子句

    SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
    

    SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号

    image.png
    mybatis动态sql中where标签的使用
    image.png

    AND 和 OR 运算符

    AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。
    如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。
    如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录

     SELECT * FROM Persons WHERE FirstName='Thomas' AND LastName='Carter'
     SELECT * FROM Persons WHERE firstname='Thomas' OR lastname='Carter'
    

    ORDER BY 语句

    ORDER BY 语句用于根据指定的列对结果集进行排序。
    ORDER BY 语句默认按照升序对记录进行排序。
    如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。


    image.png
    image.png
    image.png image.png

    INSERT INTO 语句

    INSERT INTO 表名称 VALUES (值1, 值2,....)
    INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

    Update 语句

    UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

    DELETE 语句

    DELETE FROM 表名称 WHERE 列名称 = 值

    删除所有行

        DELETE FROM table_name
    

    用于规定要返回的记录的数目

    SQL Server 的语法:

    SELECT TOP number|percent column_name(s)  FROM table_name
    

    MySQL 和 Oracle 中的 SQL SELECT TOP 是等价的

    image.png

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

    image.png
    image.png
    image.png
    image.png
    image.png
    image.png

    IN 操作符

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

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

    BETWEEN 操作符

    SELECT column_name(s)
    FROM table_name
    WHERE column_name
    BETWEEN value1 AND value2
    
    显示范围之外的人
    SELECT * FROM Persons
    WHERE LastName
    NOT BETWEEN 'Adams' AND 'Carter'
    
    SELECT * FROM Persons
    WHERE  LastName   AND  createDate
    BETWEEN  #{start}  AND  #{end}
    

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

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

    ORDER BY Persons.LastName

    不同的 SQL JOIN

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

    • JOIN: 如果表中有至少一个匹配,则返回行
    • LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
    • RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
    • FULL 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 关键字 做连接

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

    RIGHT JOIN 关键字

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

    相关文章

      网友评论

        本文标题:SQL语法

        本文链接:https://www.haomeiwen.com/subject/cmjqfqtx.html