• sql查询总结


    1.SQL select 语句

      SELECT 语句用于从表中选取数据。

      结果被存储在一个结果表中(称为结果集)。

    SELECT 列名称 FROM 表名称

      实例:

    SELECT username,password FROM user

      或者:

    SELECT * FROM user

    2.SQL SELECT DISTINCT 语句

      在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。

       关键词 DISTINCT 用于返回唯一不同的值。

    SELECT DISTINCT 列名称 FROM 表名称

      实例:从order表中查询所有的Company,仅选取唯一不同的值

    SELECT DISTINCT Company FROM Orders 

    3.SQL WHERE 条件语句

      WHERE 语句用于规定选择的标准。

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

      where运算符条件:

    操作符描述
    = 等于
    <> 不等于
    > 大于
    < 小于
    >= 大于等于
    <= 小于等于
    BETWEEN 在某个范围内
    LIKE 搜索某种模式

      例:

    SELECT * FROM Persons WHERE id=1

    4.SQL AND & OR 运算符

       AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。

      AND表示:如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。

      OR表示:如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。

      AND实例:

    SELECT * FROM Persons WHERE FirstName='T' AND LastName='C'

      OR实例:

    SELECT * FROM Persons WHERE firstname='T' OR lastname='C'

      AND和OR联合使用

    SELECT * FROM Persons WHERE (FirstName='T' OR FirstName='W')
    AND LastName='C'

    5.SQL ORDER BY 语句

      ORDER BY 语句用于对结果集进行排序。

      ORDER BY 语句用于根据指定的列对结果集进行排序。

      ORDER BY 语句默认按照升序对记录进行排序。

      例:

    SELECT Company, OrderNumber FROM Orders ORDER BY id

      例:

    SELECT Company, OrderNumber FROM Orders ORDER BY id DESC

    6.SQL INSERT INTO 语句

      INSERT INTO 语句用于向表格中插入新的行。

      语法:

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

    7.SQL UPDATE 语句

      Update 语句用于修改表中的数据。

      语法:

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

      例:

    UPDATE Person SET FirstName = 'F' WHERE LastName = 'W' 

    8.SQL DELETE 语句

      DELETE 语句用于删除表中的行。

      语法:

    DELETE FROM 表名称 WHERE 列名称 =

      例:

    DELETE FROM Person WHERE LastName = 'W' 

    9.SQL TOP 子句

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

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

      例:

    SELECT TOP number|percent column_name(s) FROM table_name

       例:从persons表中,查询前两条数据

    SELECT TOP 2 * FROM Persons

    10.SQL LIKE 操作符

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

      LIKE 操作符语法:

    SELECT column_name(s)  FROM table_name  WHERE column_name LIKE pattern

      例:

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

      例:NOT LIKE

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

    11.SQL 通配符  

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

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

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

    [^charlist]

    或者

    [!charlist]

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

       例:使用 % 通配符

    SELECT * FROM Persons WHERE City LIKE '%lond%'

      例:使用 _ 通配符: 从表中选取名字的第一个字符之后是 "eorge" 的人:

    SELECT * FROM Persons WHERE FirstName LIKE '_eorge'

      例:使用 [charlist] 通配符: 从表中选取居住的城市以 "A" 或 "L" 或 "N" 开头的人:

    SELECT * FROM Persons WHERE City LIKE '[ALN]%'

      

      例:从表中选取居住的城市不以 "A" 或 "L" 或 "N" 开头的人:

    SELECT * FROM Persons WHERE City LIKE '[!ALN]%'

    12.SQL IN 操作符

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

      IN语法:

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

      实例:从表中选取姓氏为 Adams 和 Carter 的人:

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

    13.SQL BETWEEN 操作符

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

      语法:

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

      实例: BETWEEN ... AND 

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

      实例:NOT  BETWEEN ... AND 

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

    14.SQL Alias(别名)

       表的 SQL Alias 语法:

    SELECT column_name(s) FROM table_name AS alias_name

        列的 SQL Alias 语法:

    SELECT column_name AS alias_name FROM table_name

        实例: 使用表名称别名

    SELECT po.OrderID, p.LastName, p.FirstName FROM Persons AS p, Product_Orders AS po WHERE p.LastName='Adams' AND p.FirstName='John'

    15.SQL JOIN

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

      用法:

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

    16.SQL INNER JOIN 关键字

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

      语法:

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

       INNER JOIN 与 JOIN 是相同的。

    17.SQL LEFT JOIN 关键字

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

      语法:

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

     18.SQL RIGHT JOIN 关键字

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

      语法:

    SELECT 字段 FROM table_name1 RIGHT JOIN table_name2 ON table_name1.column_name=table_name2.column_name

    19.SQL FULL JOIN 关键字

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

      语法:

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

    20.SQL UNION 和 UNION ALL 操作符

      SQL UNION 操作符:UNION 操作符用于合并两个或多个 SELECT 语句的结果集。(UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。)

      语法:(默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。)

    SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2

      UNION ALL 语法:(UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名)

    SELECT column_name(s) FROM table_name1 UNION ALL SELECT column_name(s) FROM table_name2

    21.SQL SELECT INTO 语句 

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

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

      语法:

      把所有的列插入新表:

    SELECT * INTO new_table_name [IN externaldatabase]  FROM old_tablename

      只把希望的列插入新表:

    SELECT column_name(s) INTO new_table_name [IN externaldatabase] FROM old_tablename

      SELECT INTO 实例 - 制作备份复件:

    SELECT *INTO Persons_backup FROM Persons

      IN 子句可用于向另一个数据库中拷贝表:

    SELECT *INTO Persons IN 'Backup.mdb' FROM Persons

    22.SQL CREATE DATABASE 语句

      CREATE DATABASE 用于创建数据库。

      语法:

    CREATE DATABASE database_name

    23.SQL CREATE TABLE 语句

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

      语法:

    复制代码
    CREATE TABLE 表名称
    (
    列名称1 数据类型,
    列名称2 数据类型,
    列名称3 数据类型,
    ....
    )
    复制代码

    24.SQL 约束 (Constraints)

      约束用于限制加入表的数据的类型。

      可以在创建表时规定约束(通过 CREATE TABLE 语句),或者在表创建之后也可以(通过 ALTER TABLE 语句)。

      24.1 NOT NULL 约束

        NOT NULL 约束强制列不接受 NULL 值。

       NOT NULL 约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新记录或者更新记录。

       实例:强制 "Id_P" 列和 "LastName" 列不接受 NULL 值;

    复制代码
    CREATE TABLE Persons
    (
    Id_P int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255)
    )
    复制代码

      24.2 UNIQUE 约束

        UNIQUE 约束唯一标识数据库表中的每条记录。

        UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。

        PRIMARY KEY 拥有自动定义的 UNIQUE 约束。

        实例:创建表时在 "Id_P" 列创建 UNIQUE 约束:

    复制代码
    CREATE TABLE Persons
    (
    Id_P int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255),
    UNIQUE (Id_P)
    )
    复制代码

      24.3 PRIMARY KEY 约束 

        PRIMARY KEY 约束唯一标识数据库表中的每条记录。

        主键必须包含唯一的值。

        主键列不能包含 NULL 值。

        每个表都应该有一个主键,并且每个表只能有一个主键。

        实例:

    复制代码
    CREATE TABLE Persons
    (
    Id_P int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255),
    PRIMARY KEY (Id_P)
    )
    复制代码

        一般都是对id这种字段添加PRIMARY KEY主键索引,可以再查询时加快查询速度;

     

    原文地址:https://www.cnblogs.com/kissdodog/archive/2013/06/03/3116284.html
  • 相关阅读:
    接入SDK
    GSoap的使用(调用webservice接口)
    NSString/NSMutableString 字符串处理
    iOS Base SDK & Deployment Target 区别&设置
    No identities are available for signing 的解决办法
    GitHub 代码托管Mac下
    代理&Block 传值
    UItextField 的简单控制
    NSPredicate 的使用
    tableView 删除一行后下一行点击事件被忽略
  • 原文地址:https://www.cnblogs.com/jpfss/p/11129446.html
Copyright © 2020-2023  润新知