INDEX
【例3.13】为学生—课程数据库中的Student、Course和SC三个表建立索引。其中Student表按学号升序建唯一索引,Course表按课程号升序建唯一索引,SC表按学号升序和课程号降序建唯一索引。
索引建立时可利用关键字修饰,asc代表升序,desc代表降序,未加修饰时默认为升序。
CREATE UNIQUE INDEX Stusno ON Student(Sno);
在Sudent表中按Sno升序建立名为Stunsno的索引。
CREATE UNIQUE INDEX
连接查询:
连接查询的WHERE子句中来连接两个表的条件称为连接条件或连接谓词,其一般格式:
[.][.]
其中比较运算符主要为=、>、=、<=、!=(或者是)等。
此外连接谓词还可以使用以下形式:
[.] BETWEEN [.] AND [.]
当连接运算符为=时,称为等值连接。使用其他运算符称为非等值连接。
【例3.49】查询每个学生及其选修课程的情况
SELECT Student.*,SC.*
FROM Student,SC
WHERE Student.Sno=SC.Sno
【3.60】查询所有选修了1号课程的学生姓名。
SELECT Sname
FROM Student
WHERE EXISTS
(SELECT *
FROM SC
WHERE Sno=Student.Sno AND Cno='1');
带有EXIST谓词的子查询。带IN谓词,ANY和ALL 谓词的子查询都能用EXIST子查询等价替换但是有些EXIST子查询不能被其他形式子查询替代。
此查询是相关子查询。在学生表中依次取元组的Sno值,在SC表中查询Sno值等于
GRANT
GRANT [,]...
ON [, ]…
TO [,]...
[WITH GRANT OPTION];
WITH GRANT OPTION子句,指定:可以再授予,没有指定:不能传播
语义:将对指定操作对象的指定操作权限授予指定的用户
首先,建立登录名U1-U7,再建立用户U1-U7
以sa用户登录
[例4.1] 把查询Student表权限授给用户U1
GRANT SELECT
ON TABLE Student
TO U1
SQL serever报错:关键字 ‘TO’ 附近有语
目录连接+嵌套查询练习S,C,SC关系表S,J,P,SPJ关系表简易S,C,SC关系表
连接+嵌套查询练习
S,C,SC关系表
设有学生-课程关系数据库,它由三个关系组成,它们的模式是:
S(学号SNO,姓名SN,所在系DEPT,年龄AGE)、
C(课程号CNO,课程名CN,先修课号CPNO)、
SC(学号SNO,课程号CNO,成绩SCORE)。
请用SQL语句写出下列查询:
(1)检索选修了课程号C1成绩为A的所有学生姓名。
SELECT SN
FROM S
WHERE SNO IN
(S
import java.util.ArrayList;
import java.util.Scanner;
public class SpecialPalindrome {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.close();
ArrayList array
今天在数据库的课上学习了SQL语句INDEX,INSERT和SELECT,通过例子的练习来加深对他们的理解。
一、INDEX练习
例题:
【3.13】
CREATE UNIQUE INDEX Stusno ON Student(Sno);
CREATE UNIQUE INDEX Coucno ON Course(Cno);
CREATE UNIQUE INDEX SCno ON SC(Sno ASC,Cno DESC);
ASC表示升序,DESC表示降序,如果没有说明,则默认是为升