【数据库视频】第六章 数据查询和管理

一、简单的SELECT语句

语法格式:

  • SELECT [ALL|DISTINCT] select_list

  • [INTO new_table]

  • FROM table_source

  • [WHERE search_conditions]

  • [GROUP BY group_by_expression]

  • [HAVING search_conditions]

  • [ORDER BY order_expression[ASC|DESC]]

DISTINCT:避免重复

二、设置查询条件

操作

三、排序

①SELECT * FROM 成绩信息 where 考试编号='0801' AND 课程编号='1'

   ORDER BY 分数,学生编号 [ASC|DESC]  分数是默认状态,升序排序

②SELECT * FROM 成绩信息 where 考试编号='0801' AND 课程编号='1'

   ORDER BY 分数 DESC,学生编号            学生编号是默认状态,升序排序

四、分组

①SELECT  课程编号,AVG(分数)  FROM  成绩信息 WHERE 考试编号='0801' GROUP BY  rollup (课程编号)

②SELECT  课程编号,AVG(分数)  FROM  成绩信息 WHERE 考试编号='0801' GROUP BY  cube (课程编号)

五、使用函数

取最大值:SELECT  MAX(分数)  FROM 成绩信息 WHERE 考试编号='0801' AND 课程编号='2'

取最小值:SELECT  MIN(分数)  FROM 成绩信息 WHERE 考试编号='0801' AND 课程编号='2'

取平均值:SELECT  AVG(分数)  FROM 成绩信息 WHERE 考试编号='0801' AND 课程编号='2'

求和:SELECT  SUM(分数)  FROM 成绩信息 WHERE 考试编号='0801' AND 课程编号='2'

降序排序:SELECT  TOP 3 分数 FROM 成绩信息 WHERE 考试编号='0801' AND 课程编号='2'

ORDER BY 分数 DESC

六、使用HAVING子句

注意:只有查询中包含GROUP BY子句时才能使用

SELECT 考试编号,课程编号,AVG(分数) FROM 成绩信息 GROUP BY 考试编号,课程编号

HAVING AVG(分数)>=90

ORDER BY 考试编号

七、插入数据

INSERT语法

  • INSERT [INTO] table_or_view [(column_list)] VALUES data_values

data_values用于指定向数据表中插入的数据值

八、INSERT…SELECT语句

  • INSERT table_name[column_list]

  • SELECT column_list

  • FROM table_list

  • WHERE search_condirions

九、SELECT…INTO语句

  • SELECT <select_list>

  • INTO new_table

  • FROM 表

  • WHERE

INSERT…SELECT的区别:会新建一个数据表,把结果集保存到该表中

  • select *

  • into #student        临时表

  • from student_Info

  • where student_Sex='男'

十、UPDATE语句

  • UPDATE 函数(例:TOP) {table_name|view_name}

  • SET

  • {column_name={expression|DEFAULT|NULL}|@variable=expression}[,…n]

  • WHERE{search_conditions}

十一、在UPDATE语句使用FROM子句

例: select * from studentInfo

        update studentInfo set s_sex=b.性别,s_address =b.家庭住址,s_id=b.学号

        from studentInfo a join 学生信息 b on a.s_name=b.姓名

        where b.student_Sex='女'

十二、DELETE语句

  • Delete from<table name>

  • [Where <search condition>]

十三、TOP关键字和TOP表达式

  • [

  • TOP (expression) [PERCENT]

  • [WITH TIES]

  • ]

两种方式:具体数值;百分比

例:

    declare @i int

    set @I=2

    select top (6) with ties * from result_Info ORDER BY result

例:

    declare @i int

    set @I=2

    select top (6) with ties * from result_Info ORDER BY result

    update student_Info set 民族='满族'

    select * from student_Info

十四、COMPUTE子句

  • [

  • COMPUTE

  • { { AVG | COUNT | MAX | MIN | STDEV | STDEVP | VAR | VARP | SUM }

  • (expression) } [,…n]

  • [ BY expression [,…n] ]

  • ]

 

compute…by… 就有order…by…

十五、在where语句中使用运算符

例:Select * from 成绩信息 where 考试编号='0802' AND 课程编号=1

例:Select * from 成绩信息 where 考试编号='0802' AND (分数 between 90 and 95)

猜你喜欢

转载自blog.csdn.net/hsm_Jasmine/article/details/83864367