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

5、简单的数据查询:          查询的基本结构:        select,from,where,orber by和distinct都是sql查询关键字。        数据库的查询操作分为3种:投影操作、选择操作、排序操作。          投影操作:        select 列名列表 from 表;        表名前缀:        select t_student.f_ http://www.haokk111.info 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子句后指定多个列名时,是根据后面列名的顺序来确定优先级的。 http://www.1111kp.info 
posted @ 2013-04-11 02:36  chinadiy197601  阅读(457)  评论(0编辑  收藏  举报