第三章:关系数据库标准语言sQL 数据库查询
第三章:关系数据库标准语言SQL 数据库查询 1
SELE0T语句语法格式 结果集中可以 结果集中只能 包含重复行 包含唯一行 从基本结果集中 返回额外的行 SELECTLALL DISTINC [TOP( expression )[ PERCENT[ WITH TIES J] <select list> *指定要选择的列及其限定* INTO new table /*ⅠNTO子句,指定结果存入新表* FROM table source I /*FROM子句,指定表或视图* [WHERE Search condition /* WHERE子句,指定查询条件* I GROUP BY group by expression /* GROUP BY子句,指定分组表达式* [HAVING Search condition /* HAVING子句,指定分组统计条件* ORDER BY order_expression LASC I DESC ]] /* ORDER BY子句,指定排序表达式和顺序* 升序 降序
2 SELECT [ ALL | DISTINCT ] [ TOP ( expression ) [ PERCENT ] [ WITH TIES ] ] <select_list> /*指定要选择的列及其限定*/ [ INTO new_table ] /*INTO 子句,指定结果存入新表*/ [ FROM table_source ] /*FROM 子句,指定表或视图*/ [ WHERE search_condition ] /*WHERE 子句,指定查询条件*/ [ GROUP BY group_by_expression] /*GROUP BY 子句,指定分组表达式*/ [ HAVING search_condition] /*HAVING 子句,指定分组统计条件*/ [ ORDER BY order_expression [ ASC | DESC ] ] /*ORDER BY 子句,指定排序表达式和顺序*/ SELECT语句语法格式 结果集中可以 包含重复行 结果集中只能 包含唯一行 从基本结果集中 返回额外的行 升序 降序
SELE0T语句的处理顺序 FRO 所有被使用的子句必须按语法说 ON 12345678 明中显示的顺序严格的排序。 JOI WHERE GROUP BY WITH CUBE或 WITH ROLLUP HAVING SELECT DISTINCT ORDER BY 11 TOP
3 所有被使用的子句必须按语法说 明中显示的顺序严格的排序。 1 FROM 2 ON 3 JOIN 4 WHERE 5 GROUP BY 6 WITH CUBE 或 WITH ROLLUP 7 HAVING 8 SELECT 9 DISTINCT 10 ORDER BY 11 TOP SELECT语句的处理顺序
sELECT ist语句语法格式 <select_list> 返回标识列返回行GUD列 /*选择当前表或视图的所有列*/ I table name view_hame table_alias f *选择指定的表或视图的所有列* I( column name SIDENTITY SROWGUID 3 /*选择指定的列* udt column name[.: property name field name method name( argument [,n))] 用户定义类型用户定义类型的方 /*选择用户定义数据类型的属性、方法和字段 (列的名称 法、属性或字段 expression [AS column alias 替换列名的 /*AS子句,定义列别名*/ 可选名 I column alias= expression /*选择指定列并更改列标题*
SELECT_list语句语法格式 <select_list> ::= { * /*选择当前表或视图的所有列*/ | { table_name | view_name | table_alias }.* /*选择指定的表或视图的所有列*/ | { { column_name | $IDENTITY | $ROWGUID } /*选择指定的列*/ | udt_column_name [ { . | :: } { { property_name | field_name }| method_name ( argument [ ,...n] ) } ] /*选择用户定义数据类型的属性、方法和字段 */ | expression [ [ AS ] column_alias ] /*AS 子句,定义列别名*/ } | column_alias = expression /*选择指定列并更改列标题*/ } [ ,...n ] 返回标识列 返回行 GUID 列 用户定义类型 列的名称 用户定义类型的方 法、属性或字段 替换列名的 可选名 4
选择所有列 EG:查询 PXSCJ数据库中XSB表的所有数据。 SELECT* FROM XSB 2、选择表中指定的列 EG:查询 PXSCJ数据库的XSB表中各个同学的姓名、专业和总学分。 SELECT XSB. Stu ID XSB Sname XSB. Tcredit FROM XSB 3、消除结果集中的重复行 EG:查询XSB表中的专业,消除结果集中重复行。 SELECT DISTINCT XSB. Major FROM XSB 比较:查询XSB表中的专业和性别,消除结果集中重复行。 SELECT DISTINCT XSB. Major, XSB Ssex FROM XSB
5 1、选择所有列 EG:查询PXSCJ数据库中XSB表的所有数据。 SELECT * FROM XSB; 2、选择表中指定的列 EG:查询PXSCJ数据库的XSB表中各个同学的姓名、专业和总学分。 SELECT XSB.Stu_ID,XSB.Sname,XSB.Tcredit FROM XSB; 3、消除结果集中的重复行 EG:查询XSB表中的专业,消除结果集中重复行。 SELECT DISTINCT XSB.Major FROM XSB; 比较:查询XSB表中的专业和性别,消除结果集中重复行。 SELECT DISTINCT XSB.Major,XSB.Ssex FROM XSB;