zoukankan      html  css  js  c++  java
  • SQL查询语句

    查询语句,在开发中使用的次数最多,此处使用“zhangwu 账务表。
    • 创建账务表:
    CREATE TABLE zhangwu (
      id INT PRIMARY KEY AUTO_INCREMENT, -- 账务ID
      name VARCHAR(200), -- 账务名称
      money DOUBLE, -- 金额
    );
    • 插入表记录:
    INSERT  INTO zhangwu(id,name,money) VALUES (1,'吃饭支出',247);
    INSERT  INTO zhangwu(id,name,money) VALUES (2,'工资收入',12345);
    INSERT  INTO zhangwu(id,name,money) VALUES (3,'服装支出',1000);
    INSERT  INTO zhangwu(id,name,money) VALUES (4,'吃饭支出',325);
    INSERT  INTO zhangwu(id,name,money) VALUES (5,'股票收入',8000);
    INSERT  INTO zhangwu(id,name,money) VALUES (6,打麻将支出,8000);
    INSERT  INTO zhangwu(id,name,money) VALUES (7,null,5000);
      1. 查询的语法:

    • 查询指定字段信息
    select 字段1,字段2,...from 表名;
    例如:
    select id,name from zhangwu;
    • 查询表中所有字段
    select * from 表名;
             例如:
    select * from zhangwu;
             注意:使用"*"在练习、学习过程中可以使用,在实际开发中,不推荐使用。原因,要查询的字段信息不明确,若字段数量很多,会导致查询速度很慢。
    • distinct用于去除重复记录
    select distinct 字段 from 表名;          
    例如:
    select distinct money from zhangwu;
    • 别名查询,使用的as关键字,as可以省略的.
    别名可以给表中的字段,表设置别名。 当查询语句复杂时,使用别名可以极大的简便操作。
    表别名格式:
    select * from 表名 as 别名;
    select * from 表名 别名;
    列别名格式:
    select 字段名 as 别名 from 表名;
    select 字段名 别名 from 表名;
    例如
    表别名:
        select * from zhangwu as zw;
    列别名:
        select money as m from zhangwu;
        
        select money m from zhangwu;
    • 我们在sql语句的操作中,可以直接对列进行运算。
    例如:将所有账务的金额+10000元进行显示.
    select pname,price+10000 from product;
      1. 条件查询

    where语句表条件过滤。满足条件操作,不满足不操作,多用于数据的查询与修改。
    格式 :select 字段  from 表名  where 条件;    
    while条件的种类如下:
    比较运算符
    >  <  <=   >=   =  <>
    大于、小于、大于(小于)等于、不等于
    BETWEEN  ...AND...
    显示在某一区间的值(含头含尾)
    IN(set)
    显示在in列表中的值,例:in(100,200)
    LIKE 通配符
    模糊查询,Like语句中有两个通配符:
    % 用来匹配多个字符;例first_name like ‘a%’;
    _ 用来匹配一个字符。例first_name like ‘a_’;
    IS NULL
    判断是否为空
    is null; 判断为空
    is not null; 判断不为空
    逻辑运算符
    and
    多个条件同时成立
    or
    多个条件任一成立
    not
    不成立,例:where not(salary>100);
    例如:
    查询所有吃饭支出记录
    SELECT * FROM zhangwu WHERE name = '吃饭支出';
    查询出金额大于1000的信息
    SELECT * FROM zhangwu WHERE money >1000;
    查询出金额在2000-5000之间的账务信息
    SELECT * FROM zhangwu WHERE money >=2000 AND money <=5000;
    SELECT * FROM zhangwu WHERE money BETWEEN 2000 AND 5000;
    查询出金额是100050003500的商品信息
    SELECT * FROM zhangwu WHERE money =1000 OR money =5000 OR money =3500;
    SELECT * FROM zhangwu WHERE money IN(1000,5000,3500);
    查询出账务名称包含支出的账务信息。
    SELECT * FROM zhangwu WHERE name LIKE "%支出%";
    查询出账务名称中是无五个字的账务信息
    SELECT * FROM gjp_ledger WHERE ldesc LIKE "_____"; -- 五个下划线_
    查询出账务名称不为null账务信息
    SELECT * FROM zhangwu WHERE name IS NOT NULL;
    SELECT * FROM zhangwu WHERE NOT (name IS NULL);
    查询语句,在开发中使用的次数最多,此处使用“zhangwu 账务表。
    • 创建账务表:
    CREATE TABLE zhangwu (
      id INT PRIMARY KEY AUTO_INCREMENT, -- 账务ID
      name VARCHAR(200), -- 账务名称
      money DOUBLE, -- 金额
    );
    • 插入表记录:
    INSERT  INTO zhangwu(id,name,money) VALUES (1,'吃饭支出',247);
    INSERT  INTO zhangwu(id,name,money) VALUES (2,'工资收入',12345);
    INSERT  INTO zhangwu(id,name,money) VALUES (3,'服装支出',1000);
    INSERT  INTO zhangwu(id,name,money) VALUES (4,'吃饭支出',325);
    INSERT  INTO zhangwu(id,name,money) VALUES (5,'股票收入',8000);
    INSERT  INTO zhangwu(id,name,money) VALUES (6,打麻将支出,8000);
    INSERT  INTO zhangwu(id,name,money) VALUES (7,null,5000);
      1. 查询的语法:

    • 查询指定字段信息
    select 字段1,字段2,...from 表名;
    例如:
    select id,name from zhangwu;
    • 查询表中所有字段
    select * from 表名;
             例如:
    select * from zhangwu;
             注意:使用"*"在练习、学习过程中可以使用,在实际开发中,不推荐使用。原因,要查询的字段信息不明确,若字段数量很多,会导致查询速度很慢。
    • distinct用于去除重复记录
    select distinct 字段 from 表名;          
    例如:
    select distinct money from zhangwu;
    • 别名查询,使用的as关键字,as可以省略的.
    别名可以给表中的字段,表设置别名。 当查询语句复杂时,使用别名可以极大的简便操作。
    表别名格式:
    select * from 表名 as 别名;
    select * from 表名 别名;
    列别名格式:
    select 字段名 as 别名 from 表名;
    select 字段名 别名 from 表名;
    例如
    表别名:
        select * from zhangwu as zw;
    列别名:
        select money as m from zhangwu;
        
        select money m from zhangwu;
    • 我们在sql语句的操作中,可以直接对列进行运算。
    例如:将所有账务的金额+10000元进行显示.
    select pname,price+10000 from product;
      1. 条件查询

    where语句表条件过滤。满足条件操作,不满足不操作,多用于数据的查询与修改。
    格式 :select 字段  from 表名  where 条件;    
    while条件的种类如下:
    比较运算符
    >  <  <=   >=   =  <>
    大于、小于、大于(小于)等于、不等于
    BETWEEN  ...AND...
    显示在某一区间的值(含头含尾)
    IN(set)
    显示在in列表中的值,例:in(100,200)
    LIKE 通配符
    模糊查询,Like语句中有两个通配符:
    % 用来匹配多个字符;例first_name like ‘a%’;
    _ 用来匹配一个字符。例first_name like ‘a_’;
    IS NULL
    判断是否为空
    is null; 判断为空
    is not null; 判断不为空
    逻辑运算符
    and
    多个条件同时成立
    or
    多个条件任一成立
    not
    不成立,例:where not(salary>100);
    例如:
    查询所有吃饭支出记录
    SELECT * FROM zhangwu WHERE name = '吃饭支出';
    查询出金额大于1000的信息
    SELECT * FROM zhangwu WHERE money >1000;
    查询出金额在2000-5000之间的账务信息
    SELECT * FROM zhangwu WHERE money >=2000 AND money <=5000;
    SELECT * FROM zhangwu WHERE money BETWEEN 2000 AND 5000;
    查询出金额是100050003500的商品信息
    SELECT * FROM zhangwu WHERE money =1000 OR money =5000 OR money =3500;
    SELECT * FROM zhangwu WHERE money IN(1000,5000,3500);
    查询出账务名称包含支出的账务信息。
    SELECT * FROM zhangwu WHERE name LIKE "%支出%";
    查询出账务名称中是无五个字的账务信息
    SELECT * FROM gjp_ledger WHERE ldesc LIKE "_____"; -- 五个下划线_
    查询出账务名称不为null账务信息
    SELECT * FROM zhangwu WHERE name IS NOT NULL;
    SELECT * FROM zhangwu WHERE NOT (name IS NULL);
  • 相关阅读:
    Educational Codeforces Round 20 D. Magazine Ad
    Educational Codeforces Round 20 C. Maximal GCD
    紫书第三章训练2 暴力集
    Educational Codeforces Round 20 B. Distances to Zero
    Educational Codeforces Round 20 A. Maximal Binary Matrix
    紫书第三章训练1 D
    紫书第一章训练1 D -Message Decoding
    HAZU校赛 Problem K: Deadline
    Mutual Training for Wannafly Union #8 D
    紫书第三章训练1 E
  • 原文地址:https://www.cnblogs.com/anzhi/p/7465166.html
Copyright © 2011-2022 走看看