第4章数据库查詢 本章内容)查询概述 基本查询 嵌套查询 连接查询 重点难点)嵌套查询、连接查询 2 数据库技术 2 SQL Server2008
数据库技术 本章内容 重点难点 第4章 数据库查询 查询概述 基本查询 嵌套查询 连接查询 嵌套查询、连接查询 2
问题提出? 为什么要查询数据? 如何实现查询? SELECT"FROM SALES 查询请求 查询结果集 客户端程序 SQL Server 查询产生一个虚摊表 看到的是表显示的结果,但结果并不真正存储 每次执行查询只是从数居表中提取数漏,并按照表的形式显示出来 3 数据库技术 2 SQL Server2008
数据库技术 问题提出 为什么要查询数据? 如何实现查询? 3
4.1查询概述 ■4.1.1图形界面的菜单方式 4.1.2查询语句 SELECT 4 数据库技术 2 SQL Server2008
数据库技术 4.1 查询概述 4.1.1 图形界面的菜单方式 4.1.2 查询语句SELECT 4
4.1查询概述 在数据库应用中,最常见的操作是数据查询,它是 数据库系统中最重要的功能,也是数据库其他操作 (如统计、插入、删除及修改)的基础。无论是创 建数据库、还是创建数据表等最终的目的都是为了 使用数据,而使用数据的前提是需要从数据库中获 取数据库所提供的数据信息。 数据库技术 2 SQL Server2008
数据库技术 4.1 查询概述 在数据库应用中,最常见的操作是数据查询,它是 数据库系统中最重要的功能,也是数据库其他操作 (如统计、插入、删除及修改)的基础。无论是创 建数据库、还是创建数据表等最终的目的都是为了 使用数据,而使用数据的前提是需要从数据库中获 取数据库所提供的数据信息。 5
4.1.1图形界面的菜单方式 在SSMS图形界面中,通过“对象资源管理器”可以 直接查询数据表中的数据。 田口数摇库关系新建表N 日表 设计(G) 视图C查询[Q)项目②调试①)工具①口M社区(帮助山H 田□系统表 选择前1000行 新速查询N山出西国日函冯 田回dboC 编辑前200行(E 执行p√影回P 田dboD 对象资源管理器 编写表脚本为(S) 团dboS 连接Q·掣日了g SCrIpt I。x 查看依赖关系 日 ELECT TOP 田回dbo STudent 【 st Name 团国dbo.Ta 全文素引 B□数据幸关系图 【 St Sex 日口 [Birthdat 田白视图 系统表 [CI Name 田□同义词 田 dbo. C Info [Telephone! [PSTS] 田□可编程性 策略(O) 团 dbo. D Info ddress 方面(A) □dba. sCIoto #0 Service B 【 Resume 团dbo. St Info [D ID] 团□存储 启动 PowerShe(H 田白视图 FRoM[ student]·Idho].【 st Info 田安全性 田□同义词 报表(P 田□可编程性 结果淌息 BB Service Broke St id St Name St Sex Birthdate a Name □服务器对象 重命名M) 复制 □安全性 2安全性 田□曾理 励新(F 与服努器对象 基噩 复制 属性(R ④童询已成功执行 Student:00: 00行 第21行 第4列 6 数据库技术 2 SQL Server2008
数据库技术 4.1.1 图形界面的菜单方式 在SSMS图形界面中,通过“对象资源管理器”可以 直接查询数据表中的数据。 6
4.1.2查询语句 SELECT 数据查询语句 SELECT的基本框架是: SELECT-FROM-WHERE 需要哪些列 从哪些表 根据什么条件 ■语法格式: SELECT Select list /*指定要选择的列或行及其限定* IINTO new table 指定结果存入新表* FROM table source /指定数据来源的表和视图* IWHERE Search condition /指定查询条件* I GROUP BY group by expression]/指定分组表达式* I HAVING search condition /*指定分组统计条件* ORDER BY order expression ASO|DESC]]/指定查询结果的排序方式 数据库技术 2 SQL Server2008
数据库技术 4.1.2 查询语句SELECT 数据查询语句SELECT的基本框架是: SELECT-FROM-WHERE 语法格式: SELECT select_list /*指定要选择的列或行及其限定*/ [INTO new_table ] /*指定结果存入新表*/ FROM table_source /*指定数据来源的表和视图*/ [ WHERE search_condition ] /*指定查询条件*/ [ GROUP BY group_by_expression ] /*指定分组表达式*/ [ HAVING search_condition ] /*指定分组统计条件*/ [ORDER BY order_expression [ASC|DESC ]] /*指定查询结果的排序方式*/ 7 需要哪些列 从哪些表 根据什么条件
4.2基本查询 4.2.1简单查询 4.2.2条件查询 4.2.3查询结果处理 数据库技术 2 SQL Server2008
数据库技术 4.2 基本查询 4.2.1 简单查询 4.2.2 条件查询 4.2.3 查询结果处理 8
42.1简单查询 查询语句 SELECT ◆査询数据库表中的数据并返回符合用户査询条件的结果数据。 数据查询语句是SQL语言的核心。 ◆ Select语句由多个子句构成,其语法形式为: SELECT字段表 FROM表名 LWHERE查询条件] [ GROUP BY分组字段[ HAVING分组条件]] [ ORDER BY字段名[ASC/DESC] ■[]表示可选项。 在书写 SELECT语句时,字母大小写意义完全相同。 语句可以写在若干行上(如上述语法格式中的描述),也可以 不换行。 数据库技术 2 SQL Server2008
数据库技术 查询数据库表中的数据并返回符合用户查询条件的结果数据。 数据查询语句是SQL语言的核心。 Select语句由多个子句构成,其语法形式为: SELECT 字段表 FROM 表名 [WHERE 查询条件] [GROUP BY 分组字段 [HAVING 分组条件]] [ORDER BY 字段名 [ASC/DESC]] [ ]表示可选项。 在书写SELECT语句时,字母大小写意义完全相同。 语句可以写在若干行上(如上述语法格式中的描述),也可以 不换行。 查询语句SELECT 4.2.1 简单查询
4.2.1简单查询 sQLQuery2.sqI-(local).School(sa(54) SQLQueryl sql-(local). School(sa(53)* 果被显 回结果消息 Student Code Student Name Class Code Sex Birthday LiveIn Dorm Telephon l(sa(54) Photo Description Password 120151414201张三 153030301男1997-010100:00001 3612345678 NULL NULL abed 1234 Sex 22015141442002李四 153030302男1997010200001 13701010101 NULL NULL abcd 1234 32015141442003王五 153030303男199701403000001 13802020202 NULL NULL abcd 1234 2015141442004赵六 153030301女19970202000001 13903030303 NULL NULL abcd 1234 52015141442005钱七 153030302女1997030300:0000 7004040404 NULLNULL abcd 1234 620151414206孙八 153030303男19970404000001 17105050505 NULLNULL abcd 1234 72015141442007李九 153030301男199705050000001 17206060606 NULL NULL abcd 1234 82015141442008周十 153030302男199706060001 17307070707 NULLNULL abcd 1234 92015141442009吴十 153030303女199801010000001 17408080808 NULL NULL abcd 1234 102015141442010郑十二 153030301男1998020200000 17509090909 NULLNULL abcd 1234 2)可以使用通配符“*”表示表中的4款女 【例4-2】使用 SELECT语句查询Stud5钱七 女 SELECT * FROM Student 6孙 八 男 7李九 男 8周十 男 9吴十 女 数据库技术 郑十二男 sOLserver 2008
数据库技术 (1)字段表 字段表位于关键字SELECT后面,这些字段将作为查询的结果被显 示。使用字段表规则: 1) 字段与字段之间用逗号分隔。 【例4-1】使用SELECT语句查询Student表中的学生姓名( StudentName)和性别(Sex)。 SELECT StudentName, Sex FROM Student 2) 可以使用通配符“ * ”表示表中的所有字段。 【例4-2】 使用SELECT语句查询 Student表中所有字段的值。 SELECT * FROM Student 4.2.1 简单查询
4.2.1简单查询 sQLQuery2. 5q1-(local). School (sa(54))* a sElECT Classcode As [Class Number i 结果消息 Cass number 1153030301 23 153030302 153030303 数据库技术 2 SQL Server2008
数据库技术 3) 如果字段名或表名中含有空格,则该字段名或表名必须用方括 号括起。 4) 在字段表中,可以使用以下方式将原字段名以新的字段名显示 字段名 AS 新字段名 【例4-3】 显示ClassInfo表中班级代号,并将ClassCode字段 改为Class Number。 SELECT ClassCode AS [Class Number] FROM ClassInfo 注意:字段别名[Class Number]含有空格,所以用方括号括起 (1)字段表 4.2.1 简单查询