1-5联系数据库基准语言SQL.pptVIP

  • 2
  • 0
  • 约6.02千字
  • 约 24页
  • 2017-04-21 发布于四川
  • 举报
1-5联系数据库基准语言SQL

1.5 关系数据库标准语言SQL;学习目标;SQL(Structured Query Language)简介:结构化查询语言,是一个通用的、功能极强的关系数据库标准语言。 1974年由Boyce和Chamberlin提出,并在IBM公司研制的RDBMS原型System R上实现。 1986年10月美国国家标准局ANSI批准为美国标准(SQL-86)。 1987年国际标准化组织ISO通过了这一标准。 随着数据库技术的发展而不断发展,最新标准SQL2003。 ;;查 询;示例学生-课程数据库 ;单表查询:仅涉及一个表的查询。 选择表中的若干列:对应于关系代数的投影运算。 查询指定列 [例1]查询全体学生的学号与姓名。 SELECT Sno,Sname FROM Student;? [例2]查询全体学生的姓名、学号、系别。 SELECT Sname,Sno,Sdept FROM Student; 查询全部列 [例3]查询全体学生的详细记录。 SELECT Sno,Sname,Ssex,Sage,Sdept FROM Student; 或SELECT * FROM Student;;查询经过计算的值 [例4] 查询全体学生的???名及其出生年份。 SELECT Sname,2010-Sage FROM Student;? [例5]查询全体学生的姓名、出生年份和系别,要求用小写字母表示所有系名。   SELECT Sname,2010-Sage ,LOWER(Sdept) FROM Student; 选择表中的若干元组 消除取值重复的行:两个原不相同的元组,投影到指定的某些列后,可能变成相同的行了,可以用DISTINCT取消它们。  [例6]查询选修了课程的学生学号。 SELECT Sno FROM SC; 或 SELECT ALL Sno FROM SC; SELECT DISTINCT Sno FROM SC;;查询满足条件的元组:使用WHERE子句,其中的条件有: 比较 [例7]查询计算机科学系全体学生的名单。 SELECT Sname FROM Student WHERE Sdept=‘CS’;; [例8]查询所有年龄在20岁以下的学生姓名及其年龄。 SELECT Sname,Sage FROM Student WHERE Sage20; [例9]查询考试成绩有不及格的学生学号。 SELECT DISTINCT Sno FROM SC WHERE Grade60; 确定范围 [例10]查询年龄在20~23(含边界)的学生姓名、系别和年龄。  SELECT Sname,Sdept,Sage FROM Student WHERE Sage BETWEEN 20 AND 23; [例11]查询年龄不在20~23的学生姓名、系别和年龄。 SELECT Sname,Sdept,Sage FROM Student WHERE Sage NOT BETWEEN 20 AND 23; 确定集合:使用谓词IN或NOT IN查找属性值属于指定集合的元组。; [例12]查询计算机科学系或数学系的学生姓名和性别。 SELECT Sname,Ssex FROM Student WHERE Sdept IN (‘IS’,’MA’);  [例13]查询既非计科系、也非数学系的学生姓名和性别。 SELECT Sname,Ssex FROM Student WHERE Sdept NOT IN (‘IS’,’MA’); 字符匹配:谓词[NOT] LIKE ‘匹配串’ [ESCAPE ‘换码字符’]。其含义是查找指定的属性列值与匹配串相匹配的元组。 [例14]查询学号为200215121的学生详细情况。 SELECT * FROM Student WHERE Sno LIKE ‘200215121’; 等价于:SELECT * FROM Student WHERE Sno=‘200215121’; [例15]查询所有姓刘学生的姓名、学号和性别。 SELECT Sname,Sno,Ssex FROM Student WHERE Sname LIKE ‘刘%’;; [例16]查询姓”欧阳”且全名为三个汉字的学生的姓名。 SELECT Sname FROM Student WHERE Sname LIKE ‘欧阳 ‘; [例17]查询名字中第2个字为“阳”字的学生姓名和学号。

文档评论(0)

1亿VIP精品文档

相关文档