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
相关文档:
SELECT * from xcmis.temp_odr_prom@linkxceis where trim(ODR_NO) like 'CA10010082'
SELECT * from xcmis.temp_odr_prom@linkxceis where ODR_NO like 'CA10010082%'
SELECT * from xcmis.temp_odr_prom@linkxceis where ODR_NO = 'CA10010082'
OK
SELECT * from xcmis.temp_odr_prom@linkxceis where ODR_NO like 'C ......
常用SQL查询:
1、查看表空间的名称及大小
select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size
from dba_tablespaces t, dba_data_files d
where t.tablespace_name = d.tablespace_name
group by t.tablespace_name;
2、查看表空间物理文件的名称及大小
select t ......
在这里,我所指的版本是指的2000,2005,2008这样的版本区别,而不是企业版,开发版这样的版本区别.从官方的说法来看,SQL Server是允许数据库从低版本向高版本恢复,但不支持高版本向低版本的恢复,如果我们用高版本的数据库在低版本的数据库引擎下恢复,会出现什么错误描述呢?
......
--测试数据
if OBJECT_ID('tb') is not null
drop table tb
go
CREATE TABLE tb(ID char(3),PID char(3),Name nvarchar(10))
INSERT tb SELECT '001',NULL ,'山东省'
UNION ALL SELECT '002','001','烟台市'
UNION ALL SELECT '004','002','招远市'
UNION ALL SELECT '003','001','青岛市'
UNION ALL SELECT '00 ......