• 关系型数据库基础之:简单的数据查询


    5、简单的数据查询:

           查询的基本结构:
           select,from,where,orber by和distinct都是sql查询关键字。
           数据库的查询操作分为3种:投影操作、选择操作、排序操作。

           投影操作:
           select 列名列表 from 表;
           表名前缀:
           select t_student.f_name from t_student;
           如果从多张表中获取数据就用表名前缀。
           列别名:
           单表:select 列A as A,列B as B from 表名 as T;
           多表:select T.列A as A,T.列B as B from 表名 as T;
           计算列:
           可以用于计算加、减、乘、除。
           排除重复数据:
           select distinct 列A  from 表;
           distinct的作用是把该列的重复值去掉,每一个值只保留一个。
           返回限定行数的查询:
           select 列A,列B from t_student limit 开始序号;
           select 列A,列B from t_student limit 开始序号,结束序号;
           一个参数:从第一行开始返回指定行数的结果。
           两个参数:从指定行开始返回指定行数的结果。
           limit后面加数字5代表从1开始显示5行结果;(m,n)代表从(m+1)开始显示n条记录。
           limit的序号是从0开始,limit只能用于My SQL中。
           limit写在所有语句后,返回语句在查询语句后。

           选择操作:
           select 列名列表 from 表 where 条件;
           单条件选择操作:
           select 列A,列B from 表 where 列c=值;
        =          :等于
        !=,^=,<>   :不等于:不等不要随便用,用过之后索引不起作用。
        >          :大于
        >=         :大于等于
        <          :小于
        <=         :小于等于
           多条件选择操作:
           select 列A,列B from 表 where 条件1 and或者or 条件2;
           and是并且,or是或者。
           执行范围测试(between):
           select 列A,列B from 表
           where 列C between 下限 and 上线;
           between后面是开始值,and后面是结束值。
           在between后面加not就是排除这个范围。
           定义集合关系:
           select 列A,列B from 表 where 列C in (值集合);
           在指定的几个值中进行收索,用于一些不连续的数值。
           也可以是独立的select查询:
           select 列A,列B from 表
           where 列C in (select 列D from 表2);
           in与not一起组合使用,可以查询不在集合中的数据:
           select 列A,列B from 表 where 列C not in (值集合);
           模糊查询(like):
           select 列A,列B from 表 where 列C like 模式;
           %表示匹配包含零个或多个字符的任意字符串,可前缀和后缀。
           _表示匹配任意单个字符,可前缀和后缀。
           不能在里面加空格。空格是一个字符。
           处理空值:
           判断为空不能用=号。
           select 列A,列B from 表 where 列C is not null;测试c不为空
           select 列A,列B from 表 where 列C is null;测试c为空null也是返回false。
           匹配null必须使用is null 或者is not null,使用其他任何比较运算符来匹配后得到的结果都是flase。

           排序操作:
           排序默认从小到大来排序的。
           select 列A,列B from 表 order by 列A,列B……;
           单列排序:
           select 列A,列B from 表 order by 列A asc;
           asc是按照升序排序,是默认的无需加上。
           select 列A,列B from 表 order by 列A desc;
           desc是降序排序。
           多列排序:
           select 列A,列B from 表 order by 列A,列B……;
           在select子句后指定多个列名时,是根据后面列名的顺序来确定优先级的。

  • 相关阅读:
    【leetcode】974. Subarray Sums Divisible by K
    【leetcode】976. Largest Perimeter Triangle
    【leetcode】973. K Closest Points to Origin
    listen 70
    科学60秒 (一) :上
    listen 69
    listen 68 Theoretical Physicist Stephen Hawking Dies at 76
    中译英33
    listen 67
    中译英32
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3013755.html
Copyright © 2020-2023  润新知