SELECT stu_id AS 学号,name 姓名,性别=sex FROM stu_info 2.显示“stu_info”表中的所有学生的姓名和年龄。
SELECT name AS 姓名,year(getdate())-year(borndate) as 年龄 from stu_info 3.去掉重复记录的语句为:
SELECT DISTINCT class_id FROM stu_info 4.只显示前三个班级的编号的语句:
SELECT TOP 3 class_id FROM stu_info
嵌套查询有何特点?
(1) 每级查询的from 子句一般只包含一个表名。
(2) 一个嵌套查询总可以分解为若干个单表查询,总可以改写成连接查询。 (3) 若查询结果显示的属性名来自一个表,才可以写成嵌套查询。 (4) 子查询不能使用order by 子句,order by 只能用于最顶层的查询。
数据表的操作
插入多行数据:
1 --需要先建立表Address_IS,其列属性设置参考源表student(insert..select) INSERT INTO Address_IS
SELECT StudentName,Phone,Address,Email FROM Student
2 --无需手动建立表Address_SI,系统自动建立(select..into...) SELECT StudentName,Phone,Address,Email INTO Address_SI FROM Student
3--:UNION关键字合并数据进行插入(union关键字连接) insert into UserInfo (Name,IdCard,BankCard) select 'zhangsan','410','621' union select 'lisi','432' ,'625' union select 'wangwu','421','627' union select 'tianqi','432','625'
删除:
1. 删除表student 中所计算机系的学生信息。
DELETE FROM student WHERE sdept='计算机系' 2. 删除计算机科学系所有学生的选课记录。
DELETE FROM sc WHEREsno in(SELECT sno FROM student WHERE sdept='CS') 1.INSERT 语句的作用是什么?
INSERT 语句用于向已经存在的表中插入新的数据,可以直接在INSERT 语句中指定插入的数据,一次只能插入一行数据;也可以插入子查询的结果,一次可以插入若干行数据。 2.DELETE语句和DROP语句有何区别?
DELETE语句操作是针对表记录的,DROP语句操作对象是数据库、表、视图、存储过程、触发器等。
视图
ifexists(select*fromsysobjectswherename='View_Result_Stu_Subject') dropviewView_Result_Stu_Subject go
--create view ...前后必须要有go createviewView_Result_Stu_Subject as
(selecttop 10 s.StudentNameas姓名,s.StudentNoas学号,r.SubjectResultas成绩,sub.SubjectNameas科目,r.ExamDateas考试时间 fromStudents,Resultr,Subjectsub
wherer.StudentNo=s.StudentNoandr.SubjectId=sub.SubjectIdandsub.SubjectName='使用C#语言开发数据库应用系统
'andr.ExamDate=(selectMAX(ExamDate)fromResultwheresub.SubjectName='使用C#语言开发数据库应用系统')
orderbyr.SubjectResultdesc ) go
--查询视图
select*fromView_Result_Stu_Subject
数据库的完整性
在设计数据库时如何保证数据的完整性?
数据完整性就是指存储在数据库中的数据的一致性和准确性。