⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 04.txt

📁 包含了几个由sql server2005开发的典型程序
💻 TXT
📖 第 1 页 / 共 2 页
字号:
SELECT *
FROM 选课表
WHERE NOT 分数<=59

【例4-43】查询“计算机系”和“国贸系”或者“女生”信息。
SELECT *
FROM 学生表
WHERE 院系名称='计算机系'AND 院系名称='国贸系' OR 性别='女'

【例4-44】查询“计算机系”的学生或者“国贸系”的“女生”信息。
SELECT *
FROM 学生表
WHERE 院系名称='计算机系'OR 院系名称='国贸系' AND 性别='女'

【例4-45】查询“计算机系”或者“国贸系”的“女生”信息。
SELECT *
FROM 学生表
WHERE (院系名称='计算机系'OR 院系名称='国贸系') AND 性别='女'

【例4-46】查询分数在0到59的学生信息。
SELECT *
FROM  选课表
WHERE 分数BETWEEN 0 AND 59

【例4-47】查询分数不在0到59的学生信息。
SELECT *
FROM  选课表
WHERE 分数NOT BETWEEN 0 AND 59

【例4-48】不使用IN子句查询计算机系或者国贸系学生。
SELECT *
FROM  学生表
WHERE 院系名称='计算机系' OR 院系名称='国贸系'

【例4-49】使用IN子句查询“计算机系”或者“国贸系”学生。
SELECT *
FROM  学生表
WHERE 院系名称IN ('计算机系','国贸系')

【例4-50】使用NOT IN子句查询非“计算机系”或者“国贸系”学生。
SELECT *
FROM  学生表
WHERE 院系名称NOT IN ('计算机系','国贸系')


【例4-51】查找“pubs”数据库中“authors”表的电话号码中以415开头的电话
SELECT au_id,au_fname+' '+au_lname AS name,phone
FROM authors
WHERE phone LIKE '415%'

【例4-52】查找“pubs”数据库中“authors”表的电话号码中不以415开头的电话
SELECT au_id,au_fname+' '+au_lname AS name,phone
FROM authors
WHERE phone NOT LIKE '415%'

 【例4-53】以“院系名称”分组,并统计各系的人数。
SELECT 院系名称,COUNT(学号) AS 人数
FROM 学生表
GROUP BY 院系名称

【例4-54】以“课程号”分组,并统计各门课程的平均分。
SELECT 课程号, AVG(分数) AS 平均分
FROM 选课表
GROUP BY 课程号

【例4-55】以“课程号”分组,并统计各门课程的平均分,同时给出汇总行。
SELECT 课程号, AVG(分数) AS 平均分
FROM 选课表
GROUP BY 课程号
WITH CUBE

【例4-56】以“课程号”分组,并统计各门课程的平均分,并且只查询平均分大于80分的行。
SELECT 课程号, AVG(分数) AS 平均分
FROM 选课表
GROUP BY 课程号
HAVING  AVG(分数)>80

【例4-57】以“课程号”分组,并统计各门课程的平均分,并且只查询课程号不为01001和01002的行。
SELECT 课程号, AVG(分数) AS 平均分
FROM 选课表
GROUP BY 课程号
HAVING 课程号 NOT IN(01001,01002)

【例4.58】查询学生的分数情况,查询的各列来自于三个表。
SELECT 学生表.学号,学生表.姓名,课程表.课程名,选课表.分数
     FROM 学生表
INNER JOIN 选课表 ON (学生表.学号=选课表.学号)
INNER JOIN 课程表 ON (课程表.课程号=选课表.课程号)


例4-59】查询学生表中的学号和姓名以及该生的分数。
SELECT 学生表.学号,学生表.姓名,选课表.分数
     FROM 学生表
LEFT OUTER JOIN 选课表ON (学生表.学号=选课表.学号)

【例4-60】查询课程表和选课表中相匹配的内容,使用右外连接。
SELECT	课程表.课程号,课程表.课程名,选课表.分数
FROM 课程表
RIGHT OUTER JOIN 选课表 ON (课程表.课程号=选课表.课程号)

【例4-61】查询课程表和选课表的交叉连接。
SELECT	课程表.课程号,课程表.课程名,选课表.分数
     FROM 课程表
CROSS JOIN 选课表

【例4-62】对“teacher”和“employee”两个表进行UNION查询
USE example
SELECT * FROM teacher
UNION
SELECT * FROM employee

【例4-63】查询和“张利”同学在同一个院系的所有的学生的基本信息。
SELECT *
FROM 学生表
WHERE 院系名称=(
      SELECT 院系名称
      FROM 学生表
   WHERE 姓名='张利')

【例4-64】查询选课表中课程号为“02002”的分数比学号为“20050101”低的信息。
SELECT *
FROM 选课表
WHERE 分数<(
      SELECT 分数
      FROM 选课表
      WHERE 学号='20050101' AND 课程号='01002')
AND  课程号='01002'


【例4-65】查询学生分数在80分以上的学生的“学号”、“姓名”和所在“院系名称”。
SELECT 学生表.学号,学生表.姓名,学生表.院系名称
 FROM 学生表
WHERE 学生表.学号 IN(
       SELECT 选课表.学号
        FROM 选课表
   WHERE 选课表.分数>80)


【例4-66】查询选修课程号“01002”的所有的学生的信息。
SELECT 学生表.学号,学生表.姓名,学生表.院系名称 
FROM 学生表
WHERE 学生表.学号 = ANY(
        SELECT 选课表.学号
        FROM 选课表
    WHERE 选课表.课程号='01002')


【例4-67】查询选修课程号“01002”的所有的学生的信息。
SELECT *
FROM 学生表
WHERE EXISTS(
        SELECT 选课表.学号
        FROM 选课表
        WHERE 选课表.课程号='01002'
        AND 学生表.学号=选课表.学号)


【例4-68】查询选修“C语言”的所有的学生的信息。
SELECT 学生表.学号,学生表.姓名,学生表.院系名称
FROM 学生表
WHERE 学生表.学号IN(
        SELECT 选课表.学号
        FROM 选课表
        WHERE 选课表.课程号=(
               SELECT 课程表.课程号
                FROM 课程表
               WHERE 课程表.课程名='C语言')
                 )


【例4-69】查询学生分数在80分以上的所有的学生的“学号”、“姓名”和所在“院系名称”。
SELECT DISTINCT 学生表.学号,学生表.姓名,学生表.院系名称
FROM 学生表
    JOIN 选课表ON 学生表.学号=选课表.学号
WHERE  选课表.分数>80

【例4-70】查询选修“C语言”的所有的学生的信息。
SELECT  学生表.学号,学生表.姓名,学生表.院系名称
   FROM 学生表
JOIN 选课表ON 学生表.学号=选课表.学号
JOIN 课程表ON 课程表.课程号=选课表.课程号
WHERE  课程表.课程名='C语言'

【例4-71】向学生表插入一个学生信息。
INSERT INTO 学生表(学号,姓名,性别,院系名称)
VALUES('20050302','李婷','女','国贸系')

【例4-72】向学生表中插入一条记录。
INSERT INTO 学生表
VALUES('20050306','赵莘','男',
'1985-6-23 0:00:00','2005-8-10 0:00:00',
'国贸系',NULL)

【例4-73】向学生表中插入一条记录。
INSERT INTO 学生表
( 学号,姓名,性别,院系名称,出生日期,入学日期)
VALUES(20050204,'赵勤','女','国贸系',
'1985-12-03 0:00:00','2005-8-10 0:00:00'
)

【例4-74】创建“男生情况表”。
CREATE TABLE 男生情况表
(学号varchar(12) NOT NULL,
 姓名nchar(10) NOT NULL,
 性别char(2)  NULL,
 出生日期smalldatetime  NULL,
 入学日期smalldatetime  NULL,
 院系名称varchar(20) NULL,
 备注text NULL )

【例4-75】将学生表中所有男生的信息存储到“男生情况表”中。
INSERT INTO 男生情况表
SELECT *
FROM 学生表
WHERE 性别='男'

【例4-76】创建一个成绩表,包含四列“学号”、“姓名”、“科目”和“成绩”。
CREATE TABLE 成绩表
(学号varchar(12)NOT NULL,
 姓名nchar(20)NOT NULL,
 科目 varchar(20)NOT NULL,
 成绩tinyint NULL
)

【例4-77】将 “学生表”“课程表”“选课表”的相关匹配信息联合起来,并将前面100条记录存储在“成绩表”中。
INSERT TOP (100)
INTO 成绩表
SELECT 学生表.学号,学生表.姓名,课程表.课程名,选课表.分数
FROM 学生表
JOIN 选课表ON 学生表.学号=选课表.学号
JOIN 课程表ON 课程表.课程号=选课表.课程号


【例4-78】将学生表中学号为“20050202”的学生姓名改为“张纯”。
UPDATE 学生表
SET 姓名='张纯'
WHERE 学号='20050202'

【例4-79】修改学号为“20050306”的学生信息。
UPDATE 学生表
SET 学号='20050206',姓名='魏海平',性别='男',院系名称='企管系'
WHERE 学号='20050306'

【例4-80】将“选课表”所有学生分数乘以0.8后存储在选课表中。
UPDATE 选课表
SET 分数=分数*0.8

【例4-81】将“选课表”前20个学生分数乘以1.25后存储在选课表中。
UPDATE TOP (20)  选课表
SET 分数=分数*1.25

【例4-82】将学号为“20050304”的学生信息从学生表中删除。
DELETE 
FROM 学生表
WHERE 学号='2005030

【例4-83】将“选课表”中低于60分的记录删除。
DELETE 
FROM 选课表
WHERE 分数<60

【例4-84】删除“实例数据库”中“选课表”的所有记录。
USE 实例数据库
DELETE 
FROM 选课表



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -