SQL的数据查询
SELECT语句的基本语句
-FROM-WHERE句型
关系代数中常用的式子:
∏A1…An(δF( R1×……×Rm))
这里R1、……、Rm为关系,F是公式,A1、……An为属性。
使用SELECT-FROM-WHERE句型:
SELECT A1、……An
FROM R1、……、Rm
WHERE F
F可以使用下列运算符:
算术比较运算符
逻辑运算符:AND,OR,NOT。
集合运算符:UNION,INTERSECT、EXCEPT
集合成员资格运算符:IN,NOT IN
谓词:EXISTS,ALL,SOME,UNIQUE。
聚合函数:AVG、MIN、MAX、SUM、COUNT
例题:设教学库中有三个关系:
学生关系S(S#,SNAME,AGE,SEX) 学习关系SC(S#,C#,GRADE)
课程关系C(C#,CNAME,TEACHER)
下面用关系代数表达式表达各个查询语句
。
。
。
。
。
。
。
、90、67的学生的学号与姓名。
S#,GRADE
FROM SC
WHERE C#=‘C2’
2. SELECT #,SNAME
FROM S,SC
WHERE #=# AND C#=‘C2’
3. SELECT #,SNAME
FROM S
WHERE S# IN
(SELECT S#
FROM SC
WHERE C# IN
(SELECT C#
FROM C
AME=‘MATHS’))
另一种书写方式:
SELECT #,SNAME
FROM S,SC,C
WHERE #=#
AND #=#
AME=‘MATHS’
4. SELECT S#
FROM SC
WHERE C#=‘C2’ OR C#=‘C4’
5. SELECT #
FROM SC AS X,SC AS Y
WHERE #=# AND #=‘C2’ AND #=‘C4’
6. SELECT SNAME, AGE
FROM S
WHERE S# NOT IN
(SELECT S#
FROM SC
WHERE C#=‘C2’)
7. SELECT SNAME
FROM S
WHERE NOT EXISTS
(SELECT *
FROM C
WHERE NOT EXISTS
( SELECT *
FROM SC
WHERE #=# AND #=#))
SQL的数据查询 来自淘豆网www.taodocs.com转载请标明出处.