select语句--单表查询

来源:互联网 发布:物流规划软件 编辑:程序博客网 时间:2024/05/16 05:39

select语句格式:

        select select_list

        from table_list

        [where search_condition]

        [group by group_by_list]

        [having search_condition]

        [order by order_list[asc|desc]]        

        如果没有order by 子句,系统默认是不排序的

select语句的执行顺序

        1,from语句组装来自不同数据源的数据

        2,where子句基于指定的条件对记录进行筛选

        3,group by 子句将数据划分成多个组

        4,使用聚合函数进行计算

        5,使用having子句筛选分组

        6,计算所有表达式

        7,使用order by 子句对结果集进行排序

 

查询中使用别名的三种方式

        原句:select sno,sname from student

        1,使用 as

                select sno as '学号',sname as '姓名' from student

        2,直接跟在后面,省略 as

                select sno '学号',sname '姓名' from student

        3,使用 = ,注意别名在等号前面

                select '学号'=sno,'姓名'=sname from student

 

消除重复数据 ---关键字distinct

        select distinct name from grades

限定显示的行数---关键字top,配合order by 使用有很好的效果

        使用固定数字:

                select top 1 * from student ---只显示第一条记录

        使用百分数

                select top 5 percent * from student--显示前5%的数据

范围运算符  ---关键字 between...and

        between ... and 和 not between and

        用于测试给定的值是否在一个指定的范围内,between and 是闭区间

                select * from grades where grade between 60 and 80--查找60到80分的成绩信息(含60,80分) 

列表运算符 ---关键字 in

        in  和 not in

        在一个列表中查找是否有与给定的值精确匹配的值,有则返回true

                select * from grades where grade in (70,80)        --有没有刚好是70或者80分的成绩

        等价于

                select * from grades where grade = 70 or grade = 80

模式运算符 ---关键字 like

        like 和 not like

        判断列值是否和指定的字符串格式相匹配

        可用于char、varchar、text、datetime等数据类型

空置运算符--关键字 is null

        is null 和 is not null        

        =不能去检测空值null,所以使用is来检测

                select × from student where sbirthday is null

                如果用= null,系统不会报错,但是检测不到

排序  --关键字order by

        如果不指定排序顺序,默认升序

        order by 后面可以跟表达式,使用()可以使结构更清晰

        使用多个排序点,以,号隔开

                select * from grades order by cno asc,grade desc

一些函数

        字符串函数    -----P108页

                datalength(char_expr):返回字符串包含的字节数(包含后面的空格)

                        --一个汉字是两个字节,使用datalength可以检测

                len(char_expr):返回字符串包含的字符数,不包含后面的空格

                substring(expression,start,length):取得字字符串

                upper/lower 转换成大/小写

                ltrim/rtrim 清除字符串  左边/右边 的空格

        日期和时间函数   ----P109

                getdate() :取得系统当前日期

                datename(datepart,date_expr)  :取得日期中指定日期部分的字符串形式

                datepart(datepart,date_expr)  :同上,取得整数形式

                日期部分有year,month,day,week,hour,minite,second,millisecond

                            dayofyear(第几日),weedday(周几)

                            日期部分都有缩写

        系统函数

原创粉丝点击