美文网首页
SQL学习笔记Day2

SQL学习笔记Day2

作者: Juvemace | 来源:发表于2018-09-04 18:19 被阅读0次

    SQL学习笔记day2

    SELECT 语句基础
    算术运算符和比较运算符
    逻辑运算符

    SELECT 语句基础

    1. select 查询指定列
    --语法:
    --SELECT <列名>, ...     -- 希望查询列的名称
    --FROM <表名>            -- 指定选取数据的表
     --  --  --  --  --  --  -- 
    
    -- 从 Shohin 中取 3 列
    SELECT shohin_id, shohin_mei, hanbai_tanka 
    FROM Shohin;
    -- 列的顺序可以任意指定,逗号(“,”)分隔,查询结果的顺序和 SELECT 子句中的顺序相同
    
    1. 查询全部列时:
    查询表的所有列:星号(*)
    
    --语法
    --SELECT *        -- 星号(*)代表所有列
    --FROM <表名>;
    

    【备注】使用星号(*)的话就无法设定列的显示顺序

    1. 为列设定别名:AS 关键字
    1.
    SELECT shohin_id AS Id, shohin_mei AS Name, shiire_tanka Price
    FROM Shohin;    
    
    2.
    SELECT shohin_id AS "编号", shohin_mei AS '名称', shiire_tanka '价格'
    FROM Shohin;    -- 设定汉语别名:加上双引号(")或单引号(')
    
    1. 常数的查询
    SELECT '产品' AS Product,            -- '产品':字符串常数
        38 AS Price,                    -- 38:数字常数
        '2016-09-30' AS '生产日期'        -- '2009-02-24':日期常数
    

    【备注】字符串和日期使用单引号(')。

    1. 从结果中删除重复行:DISTINCT
    SELECT DISTINCT shohin_bunrui FROM dbo.Shohin; //使用 DISTINCT 移除 shohin_bunrui 列中的重复数据
    

    DISTINCT 对 NULL 类型的处理:存在多条 NULL 值的行时,会结合为一条 NULL 数据。

    多列之前使用 DISTINCT:

    SELECT DISTINCT shohin_bunrui, torokubi
    FROM dbo.Shohin
    

    DISTINCT 会将多个列的数据进行组合,将重复的数据结合为一条。

    【注意】DISTINCT 关键字只能用在第一个列名之前。

    1. 筛选记录:WHERE
    --语法:
    --SELECT    <列名>, ...
    --FROM      <表名>
    --WHERE     <条件表达式>;
    

    WHERE 子句中可以指定“某一列的值和这个字符串相等”或者“某一列的值大于这个数字”等条件,找出只符合该条件的记录。
    例子:

    SELECT shohin_id, shohin_mei, shohin_bunrui
    FROM dbo.Shohin
    WHERE shohin_bunrui = '衣服';  -- shohin_bunrui = '衣服':为条件表达式
    

    【备注】WHERE 子句:首先通过该子句查询出符合指定条件的记录,再选取出 SELECT 语句指定的列。

    【注意】SQL 子句的书写格式是固定的,不能随意更改。如 WHERE 子句必须紧跟在 FROM 子句后。
    7.注释的写法

    --  单行注释
    
    /*
        多行注释
    */
    

    算术运算符和比较运算符

    1. 算术运算符
    SELECT shohin_mei, hanbai_tanka, hanbai_tanka * 2 AS 'hanbai_tanka_x2'
    FROM dbo.Shohin;
    
    image
    1. 需要注意 NULL
    SELECT 5 + NULL, 10 - NULL, 1 * NULL, 4 / NULL, NULL / 9;
    

    【备注】所有包含 NULL 的计算,结果肯定为 NULL。


    image

    3.比较运算符

    运算符 含义
    = 相等
    <> 不等
    >= 大于等于
    > 大于
    <= 小于等于
    < 小于

    在where 中使用比较运算符

    --示例:

    SELECT *
    FROM dbo.Shohin
    WHERE hanbai_tanka - shiire_tanka >= 500;
    
    1. 不能对 NULL 使用比较运算符
      对NULL使用is 或者is not
      WHERE shiire_tanka IS NOT NULL;
      WHERE shiire_tanka IS NULL;

    希望选取 NULL 记录时,使用 IS NULL;希望选取不是 NULL 的记录时,使用 IS NOT NULL。

    逻辑运算符

    1. NOT 运算符:取反

    2. AND 运算符和 OR 运算符

    AND 运算符:并且,在两侧的查询条件都成立时整个查询条件才成立。

    OR 运算符:在两侧的查询条件就算只有一个成立时整个查询条件都成立。

    本文引用: 反骨仔

    相关文章

      网友评论

          本文标题:SQL学习笔记Day2

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