数据查询基础

一. 数据查询基础

        1. 查询所有数据

            select * from 表名

        2. 根据限制条件查询数据

            select * from 表名 where 限制条件

        3. 根据特定列进行排序,默认为升序排列

            select * from 表名 order by 排序列名 升序/降序

        4. 使用别名AS

            select StudentName as 学生姓名,GradeId as 年级编号 from Student

        5. 使用=号命名别名

            select 学生姓名=StudentName,年级编号=GradeId from Student

        6. 使用+号拼接数据

            SELECT StudentNo+GradeId AS 学生信息 FROM Student

            注意:
                1. + 连接的数据类型必须兼容
                2. 如果 + 连接字符型数据,结果为字符串数据的连接
                3. 如果 + 连接数值型数据,结果为数值的和

        7. 查询空值

            select * from Student where Emial IS NULL

        8.使用常量列

            SELECT StudentName AS 学生姓名,'北京昌平' AS 住址 FROM Student

        9.使用Top限制数据行

            9.1 限制特定数据行数

                SELECT top 10 * from Student

            9.2 限制特定数据百分比

                SELECT TOP 60 PERCENT * FROM Student

    二. 多表查询

        思路:确定要查询的列,以及确定要查询的表,然后找表与表之间的关系

        --查询学生信息(学生姓名,年级名称,出生日期以及邮箱),找引用关系
        select studentName,GradeName,BornDate,email from Student,Grade where Student.GradeId=Grade.GradeId

        --查询S1年级下的科目名称
        select SubjectName as 科目名称 from Subject,Grade where Grade.GradeName='S2' AND Subject.GID=Grade.GradeId

        --查询S1年级下所有学生姓名
        select StudentName as 学生姓名 from Student,Grade where Grade.GradeName='S1' AND Student.GradeId=Grade.GradeId

        --查询学生编号为1的考试科目以及考试成绩
        select SubjectName,StudentResult from Result,Subject,Student where Student.StudentNo=1
        AND Result.StudentNo=Student.StudentNo And Result.SubjectId=Subject.SubjectId

    三. SQL函数

        1.字符串函数
            用于控制返回给用户的字符串
        2.日期函数
            用于操作日期值
        3.数学函数
            用于对数值进行代数运算
        4.系统函数
            获取有关SQL Server中对象和设置的系统信息

        详情请见书上SQL函数表


        年满20周岁的条件
            DATEDIFF(DD,BornDate, GETDATE())>=365*20

        获取Email的域名
            RIGHT(Email, LEN(Email) - CHARINDEX('@',Email) )

        获取当前日期的年、月、日
            CONVERT(VARCHAR(4), DATEPART(YYYY,GETDATE()))

        获取4位随机数
            RIGHT(RAND(),4)

posted @ 2018-07-23 11:51  怀鑫  阅读(173)  评论(0编辑  收藏  举报