SQL语言基础 数据查询
在SQL语言中,只提供了一个动词SELECT用来进行数据查询操作,但这个动词的参数十分复杂,且能嵌套使用,其通用格式如下:
SELECT [All|Distinct]<目标列表达式>[,<目标列表达式>]...
from <表名或视图名>[,<表名或视图名>]...
[WHERE<条件表达式>]
[GROUP BY<列名1>[HAVING<条件表达式>]]
[ORDER BY<列名2>[ASC|DESC]];
1、单表查询
数据查询主要通过一些例子来说明SELECT语句的使用。假设有学生表Student(Sno,Sname,Ssex,Sage,Sdept),还有课程表Course(Cno,Cname,Credit,Cpno)和选修表SC(Sno,Cno,Grade)。其中Cno为课程表,Cname为课程名称,Cpno为先修课程号,Credit为学分,Grade为成绩。
查询全体学生的学号与姓名的命令格式为:
SELECT Sno,Sname
from Student;
查询全体男同学的详细记录的命令格式为:
SELECT *
from Student
WHERE Ssex="男";
查询所有年龄大于21岁的学生的姓名、出生年份和所在系,要求用小写字母表示所在系名。
SELECT Sname,'Year of birth',2004-Sage,lower(Sdept)
from Student
WHERE Sage>21;
查询IS系、MA系和CS系学生的姓名和性别的命令格式为:
SELECT Sname,Ssex
from Student
WHERE Sdept In('IS','MA','CS');
查询名字中第二个字为'阳'的学生的姓名、学号的命令格式为:
SELECT Sname,Sno
from Student
WHERE Sname LIKE'_ _阳%'; //其中的“_”代表一个字符,而“%”代表0到若干个字符。
查询DB_Design课程的课程号和学分的命令格式为:
SELECT Cno,Credit
from Course
WHERE Cname LIKE 'DB\_Design'Escape'\';
查询选修了3号课程的学生的学号及成绩,查询结果按分数的降序排列所有有成绩的学生学号和课程号。
SELECT Sno,Credit
from SC
WHERE Cno='3'
ORDER BY Grade DESC;
在SQL语言中,也可以使用集函数:
Count([Distinct|All]*):统计元组个数;
Count([Distinct|All]<列名>):统计一列中值的个数;
Sum([Distinct|All]<列名>):计算一列值的总和;
Avg([Distinct|All]<列名>):计算一列值的平均值;
Max([Distinct|All]<列名>):求一列值中的最大值;
Min([Distinct|All]<列名>):求一列值中的最小值;
求各个课程号及相应的选课人数。
SELECT Cno,Count(Sno)
from SC
GROUP BY Cn
相关文档:
delete from
uservalid
where(lastlogin<'2007-1-1
0:0:00')
清除在uservalid表中最后登陆时间在2007年1月1日零时零分之前的数据
查询某一范围内的数据则selete * from uservalid
where(wealth in(500,1000))
在查询分析器里面selete from where
in这些关键字都自动大写了
......
select top 页大小 *
from table1
where id>
(select max (id) from
(select top ((页码-1)*页大小) id from table1 order by id) as T) order by id ......
Student(S#,Sname,Sage,Ssex) 学生表
Course(C#,Cname,T#) 课程表
SC(S#,C#,score) 成绩表
Teacher(T#,Tname) 教师表
问题:
1、查询“001”课程比“002”课程成绩高的所有学生的学号;
select a.S# from (select s#,score from SC where C#='001') a,(sele ......
在sql语句中添加变量。
declare @local_variable data_type
声明时需要指定变量的类型,
可以使用set和select对变量进行赋值,
在sql语句中就可以使用@local_variable来调用变量
声明中可以提供值,否则声明之后所有变量将初始化为NULL。
例如:declare @id int
&nb ......
1、定义基本表
SQL语言使用动词CREATE定义基本表,其具体语法格式如下:
CREATE TABLE <表名>
(<列名><数据类型>[列级完整性约束条件]...[,<列名><数据类型>[列级完整性约束条件]][,<表级完整性约束条件>]);
例如:建立一个学生表Student,它由学号Sno,姓名Sname,性别Ssex,年 ......