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 语法教程 SQL 教程SQL 简介SQL 语法SQL Select选择SQL SELECT DISTINC...

  • SQL 语法大全

    SQL 语法大全 标签(空格分隔): SQL DB2 SQL语法大全 SQL SELECT SQL SELECT ...

  • sql语句执行顺序

    Oracle sql语句执行顺序 sql语法的分析是从右到左一、sql语句的执行步骤:1)语法分析,分析语句的语法...

  • Presto查询执行过程

    Presto中SQL运行过程 Coordinator接到SQL后,通过SQL语法解析器把SQL语法解析变成一个抽象...

  • sql

    sql经典语句经典SQL语句大全(绝对的经典) - 浪迹天涯芳草 - 博客园 sql语法SQL语句查询语句完整语法...

  • SQL基本查询

    1.SQL SELECT: 语法: 2.SQL SELECT DISTINCT: 语法: 3.WHERE 子句: ...

  • SQL基础语句

    SQL SELECT 语法SELECT 列名称 FROM 表名称 语法SELECT * FROM 表名称 SQL ...

  • 二、SQL笔记--MySQL基本操作

    一、SQL语法规则 SQL语法规则:SQL是一种结构化编程语言 基础SQL指令通常是以行为单位 SQL指令需要语句...

  • ora2pg pl/sql转换为pl/pgsql测试

    以oracle 11g pl/sql语法为例,目标postgresql版本10.5 pl/sql语法转换 1. 变...

  • SQL 高级教程

    1.SQL TOP 子句 ===> 用于规定要返回的记录的数目 语法: MySql 语法 实例: 2.SQL LI...

网友评论

    本文标题:SQL语法

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