数据库(二)

SELECT语句基础
    1.查询指定列:SELECT关键字
    --语法:
    --SELECT <列名>,……  --希望查询列的名称
    --FROM <表名>       --指定选取数据的表

    --从Shohin中取 3 列
    SELECT shohin_id,shohin_mei,hanbai_tanka    --列的顺序可以任意指定,逗号(",")分隔,查询结果的顺序和 SELECT 子句中的顺序相同
    FROM Shohin;

    2.查询表的所有列:星号(*)
    --语法
    --SELECT *  --星号(*)代表所有列
    --FROM <表名>;
    【备注】使用星号(*)的话就无法设定列的显示顺序

    3.为列设定别名:AS关键字
    SELECT shohin_id AS Id,shohin_mei AS Name,shiire_tanka Price
    FROM Shohin;            --不用AS关键字也可以

    SELECT shohin_id AS "编号",shohin_mei AS '名称',shiire_tanka '价格'
    FROM Shohin;            --设定汉语别名:加上双引号(")或单引号(')

    4.常数的查询
    SELECT '产品' AS Product,
        38 AS Price,
        '2016-09-30' AS '生产日期'
        【备注】字符串和日期使用单引号(')。

    5.从结果中删除重复行:DISTINCT
        (1) SELECT DISTINCT shobin_bunrui FROM dbo.Shohin;
        (2) SELECT DISTINCT shiire_tanka FROM dbo.Shohin;   --DISTINCT 对 NULL 类型的处理:存在多条NULL值得行时,会结合为一条NULL数据。
        (3)多列之前使用DISTINCT
        SELECT DISTINCT shobin_bunrui,torokubi
        FROM dbo.Shohin
            --DISTINCT 会将多个列的数据进行组合,将重复的数据结合为一条。
            --【注意】DISTINCT关键字只能用在第一个列名之前。

    6.筛选记录:WHERE
        WHERE 子句中可以指定“某一列的值和这个字符串相等”或者“某一列的值大于这个数字”等条件,找出只符合该条件的记录。
        --语法:
        --SELECT <列名>,……
        --FROM <表名>
        --WHERE <条件表达式>;

        SELECT shohin_id,shohin_mei,shohin_bunrui
        FROM dbo.Shohin
        WHERE shohin_bunrui = '衣服';  --shouhin_bunrui = '':为条件表达式
        【备注】WHERE子句:首先通过该子句查询出符合指定条件的记录,再选取出SELECT语句指定的列
        【注意】SQL子句的书写格式是固定的,不能随意更改。如WHERE子句必须紧跟在FROM子句后。

    7.注释的写法
        --   单行注释
        /*
            多行
            注释
        */

算法运算符和比较运算符
    1.算术运算符
    SELECT shobin_mei,hanbai_tanka,hanbai_tanka*2 AS 'hanbai_tanka_x2'
    FROM dbo.Shohin;

    2.比较运算符
    = <> >= > <= <
    --示例1:
    SELECT shohin_mei,shobin_bunrui
    FROM dbo.Shohin
    WHERE hanbai_tanka = 500;
    --示例2:
    SELECT shobin_mei,shohin_bunrui
    FROM dbo.Shohin
    WHERE hanbai_tanka <> 500;
    --示例3:
    SELECT shobin_mei,shobin_bunrui
    FROM dbo.Shohin
    WHERE hanbai_tanka != 500
    --示例4:
    SELECT *
    FROM dbo.shobin
    WHERE hanbai_tanka - shiire_tanka >=500;

    3.对字符串使用不等号的注意事项
    --DDL:创建表
    CREATE TABLE Chars
    (chr CHAR(3) NOT NULL,
    PRIMARY KEY (chr));
    --DML:插入数据
    INSERT INTO Chars VALUES ('1');
    INSERT INTO Chars VALUES ('2');
    INSERT INTO Chars VALUES ('3');
    INSERT INTO Chars VALUES ('10');
    INSERT INTO Chars VALUES ('11');
    INSERT INTO Chars VALUES ('222');
    --示例:选取出大于'2'的数据的SELECT语句
    SELECT *
    FROM dbo.Chars
    WHERE chr > '2';
    【注意】chr为字符串类型,对字符串类型的数据比较大小时,跟数字不一样。


    4.不能对NULL使用比较运算符
    --示例1:
    SELECT shohin_mei, shiire_tanka
    FROM dbo.Shohin
    WHERE shiire_tanka = NULL;        --错误的 SELECT 语句

    --示例2
    SELECT shohin_mei, shiire_tanka
    FROM dbo.Shohin
    WHERE shiire_tanka IS NULL;        --选取 NULL 的记录

    --示例3
    SELECT shohin_mei, shiire_tanka
    FROM dbo.Shohin
    WHERE shiire_tanka IS NOT NULL;    --选取不为 NULL 的记录
    【注意】希望选取NULL记录时,使用IS NULL;希望选取不是NULL的记录时,使用IS NOT NULL。
原文地址:https://www.cnblogs.com/wzqstudy/p/10225776.html