admin 管理员组文章数量: 1184232
2023年12月18日发(作者:学习php看那本书)
SQL查询语句 SELECT的使用技巧 在选择列表中,通过使用AS关键字创建更具可读性的别名来 向瑜 (四川省达州职业技术学院) 摘要:本文针对关系数据库管理系统中SQL查询语句的一些基本用法, 作了一些简单的介绍,起着抛砖引玉的功效。通过本文的介绍,力图帮助学生 取代默认的列名。 更好地掌握此语句的用法。 定义格式为:列标题AS列名或列名列标题 关键词:SELECT语句查询连接 注意:如果指定的列名不是标准的标识符格式,应使用引号定界 符。 例如,从数据库“图书管理系统”的“图书明细表”中,查询列“图 SELECT图书名称,定价 O.8 AS新价格 FR0M图书明细表 1.1.4消除重复行 如果希望一个列表没有重复值,则可以使用DISTINCT子句来 在关系数据库管理系统中,SQL查询语句——SELECT的使用 是非常重要的一部分内容,是任何SQL语言中使用频率最高的语 客户的要求搜索所需要的信息,并按规定的格式返回给客户。使用 T_一SQL的SELECT语句,不仅可以查询普通数据库中的表格和视 图信息,还可以查询SQL Server的系统信息。在T ̄nsact—SQL中 绝大多数的语句都是由SELECT构成的。 句,它是SQL语言的灵魂。SELECT语句可以使数据库服务器根据 书名称”和“定价”为八折后的“新价格”的图书信息。 然而笔者在近几年对关系数据库管理软件(如Access、SQL 消除结果集中的重复行。 Server、0racle等)的教学中,发现对于这部分的内容学生掌握得并 例如,从数据库“northwind”的“suppliers”表中检索所有的行, 不是很好。为此,笔者根据多年的教学经验,将SQL查询语句的一些 但每个国家只显示一次。 使用技巧列出来,供学生参考和同行借鉴。 SELECT DISTINCT country 由于SELECT语句的完整语句比较复杂,故在这里只列举出它 FR0M suppliers 的主要子句。SELECE语句的主要子句格式如下: 1.1.5使用TOPn列出前n个记录 SELECT【AL LlDISTINCT】【T0P n】select_list 用TOPn【PERCENT】关键字列出结果集中前n个记录。其中 【lNTO new_table】 T0Pn表示返回结果集中前n行记录,而T0P n PERCENT中的n 【FR0M table—condition】 表示一百分数,指定返回的记录数等于总记录数的百分之几。 【WH ERE search condition】 例如,从数据库“noRhwind”的“order details”表中查询出前5 【GROUP BY group by_expression】 条记录,只显示orderid、productid、quantity三列内容。 【HAV1NG search condition1 SELECT T0P 5 orderid,roductid,quantity 【ORDER BY order_by_expression[ASCIDESC]】 FR0M【0rder details】 【COM PUTE expression】 1.2 FR0M子句 下面笔者就结合简单查询、联合查询和连接查询三方面通过举 1.2.1 FR0M子句指定从中查询行和列所属的源表或视图。可 例的形式来谈谈有关Transact—SQL语句的用法。(注:以下所有例 以指定多个,最多达256个,其间用“,”分隔。当FROM子句同时指 子的数据表来自示例数据库“图书管理系统”或“no ̄hwind”,在进行 定多个表或视图时,如果在选择列表中有相同的列,则应使用对象名 查询前,先用USE关键字将相关数据库打开。) 限定这些列所属的表或视图。 1简单查询 例如,在数据库“northwind”的“orders”和“customers”两个表 Transact—SQL的简单查询包括选择列表、FB0M子句和 中均有customerid(顾客id)列,在查询两个表中的顾客id时应使用 WHERE子句三部分内容。由此说明要查询的列、所查询的表或视图 下面语句格式来限定。 以及检索条件等。 SELECT DISTINCT customerid,companyname,orderdate, 例如,从数据库“图书管理系统”的“图书明细表”中查询定价大 FR0M orders,customers 于50的“图书编号”、“图书名称”、“出版日期”和“定价”字段的信 WHERE orders.customerid=customers.customerid 息。 1.2_2在FR0M子句中可以为表或视图指定别名。格式:<表名 SELECT图书编号,图书名称,出版日期,定价 >as<别名>或<表名><别名> FR0M图书明细表 例如,上面例中的查询语句也可表示为如下形式:SELECT WHERE定价>50 DISTINCT customerid,companyname,orderdate, 1.1选择列表 FR0M orders a,customers b 简单查询中的选择列表(select_list)指出要查询的字段列,可以 WHERE a.customerid=b.customerid 由一组宇段名列表、星号、表达式或变量(包括局部变量和全局变量) 1.3 WHERE子句 等构成。 1.3.1使用WHERE子句,可以根据给定的搜索条件检索特定 1.1.1查询表中所有的字段列 的行。 星号(*)在选择列表中有特殊含义,它代表列表中的所有行。 例如,下面的查询将从数据库“noRhwind”中的“employees”表 例如,从数据库“图书管理系统”中查询“出版社信息表”的所有 中检索所有居住在美国的职员的姓和居住的城市。 行。 SELECT lastname,citv SELECT FR0M employees FR0M出版社信息表 WHERE country=’USA’ 1.1_2查询表中指定的列 1.3.2在WHERE子句中可包括以下一些运算符:①比较运算 可以从表中检索指定的列,只需将这些列放在选择列表中。 符(用于比较大小):>(大于)、>:(大于或等于)、=(等于)、<(小于)、 例如,从数据库“图书管理系统”的“作者表”中查询列为“作者姓 <=(小于或等于)、<>(不等于)。②范围运算符(检索在指定取值范围 名”、“性别”和“电话”的作者信息。 内的行):BETWEEN…AND···和NOT BETWEEN···AND‘一。例:u— SELECT作者姓名,性别,电话 nitprice BE1、/VEEN 1 0 AND 30等价于unitprice>=l 0 AND U— FR0M作者表 nitprice<=30。③列表运算符(检索与指定值列表相匹配的行):IN(项 1.1.3改变列名 1,项2,……)和NOT IN(项1,项2,……)。例:count ̄IN{’Ger- 295
信息技术l氆I many。,。China。)。④字符串比较符(通过字符串比较来选择符合条件 的行):LlKE和NOT LIKE,适用于char、nchar、varchar、nvarchar、 WHERE姓名LIKE‘王%’ UNlON SELECT姓名,家庭住址,’营业员’ bina ry、varbinary、datetime或smalldatetime等数据类型的查询,以 FR0M销售人员表 及在特定条件下对text、ntext和image数据类型进行的查询。 WHERE姓名LlKE‘王%’ 采用以下四种通配符来形成字符串搜索条件:a百分号%:包含 零个或更多字符的任意字符串。b下划线一:匹配任何单个字符。C方 3连接查询 连接操作可以同时查询两个或多个表中的数据,所生成的结果 括号【】:指定的范围或集合内的任何单个字符。d r】:不在指定的范围 或集合内的任何单个字符。 集将多个表中的行和列合并在一起。 连接可以在SELECT语句的FROM子句或WHERE子句中建 例如,用LIKE‘N%’来表示以N开头的任意字符串; 这样有助于将指定的连接条件 用LIKE‘N【Xv1%’表示以N开头,第二个字符是X或Y的字符 立,建议在FROM子句中指定连接,与WHERE子句中的搜索条件区分开来。 串: 用LIKE‘Nf^×v】%’表示以N开头,第二个字符不是X或Y的 SQL一92标准所定义的FROM子句的连接语法格式为: 字符串: 用LIKE‘N—M%’表示以N开头,第三个字符是M,第二个为 FROM tablesource1 join_type table_source 2 [ON(join—condition)】 其中,table—source1和table—source 2指定耍查询的表; 任意一个字符的字符串。 oin_ty pe指定所执行的连接类型,可分为三类:内连接(Inner ⑤空值判断符(检索那些指定列中遗漏信息的行):IS NuLL和 jNOT lS NULL。 Join)、外连接(Outer Join)、交叉连接(Cross Join);join—condition 例如,从数据库“northwind”的“suppliers”表中检索fax列为空 指定连接条件。3.1内连接 的公司列表。 SELECT companyname,fax 内连接通过比较两个表共同拥有的列的值,把两个表连接起来。 FROM suppliers WHERE fax IS NULL SQL Server将只返回满足连接条件的行。它是SQL Sewer默认的 连接方式。根据所使用的比较方式不同,内连接又分为等值连接、自 ⑥逻辑运算符(用于组合多个条件,简化查询处理):NOT、AND 然连接和不等连接三种。 和OR,优先级从左到右依次降低。 3.1.1等值连接即在连接条件中使用“:”运算符比较被连接列 1.4 ORDER BY子句 的列值,其查询结果中列出被连接表中的所有列,包括重复列。 例如,列出数据库“图书管理系统”的“作者表”和“出版社信息 表”中位于同一城市的作者和出版社信息。 SELECT 用ORDER BY子句对结果集中的行进行升序(ASC)或降序 (DESC)排列。 格式:ORDER BY(order_by_expression【ASCIDESC])【,…n】 注意:不可以在ORDER BY子句中使用ntext、text或image 类型的列。 FR0M作者表AS a lNNER JOlN出版社信息表AS b ON a.籍贯=b.出版社所在城市 例如,下面从数据库“northwind”的“products”表中检索每个 3.1.2不等连接即在连接条件中使用除等于运算符外的其它比 产品的产品标识、产品名、类别和单价。先将结果集按照类别进行升 较运算符来比较被连接的列的列值。 序排列,对于同一类别,再按照单价进行降序排列。 3.1.3自然连接即在连接条件中使用等于运算符比较被连接列 SELECT productid,productname,categoryid,unitprice 的列值,但它使用选择列表指出查询。 FROM products 例:列出数据库“图书管理系统”的“作者表”和“出版社信息表” ORDER BY categoryid.unitprice DESC 中位于同一城市的作者和出版社,并删除重复列“籍贯”。 2联合查询 SELECT a. ,b.出版社编号,b.出版社名称,b.出版社电话 使用UN10N子句的查询称为联合查询。它可以将两个或更多 FROM作者表AS a INNER J0IN出版社信息表AS b 个SELECT语句的返回结果组合到一个单个结果集中,该结果集包 0N a.籍贯=b.出版社所在城市 含了联合查询中所有查询结果集中的全部行数据。 3.2外连接 联合查询的语法格式如下: 若要创建一个查询,以返回一个或多个表中的所有行(无论在另 selectstatement 外的表中是否含有相匹配的行),则需要使用外连接。外连接有三种 UNION【ALU select_statement 类型:左外连接(LEFT OUTER JOlN或LEFT JOIN)、右外连接 【UNION【ALL】selectstatement][…n】 (RIGHT OUTER JOlN或RIGHT JOlN)和完全外连接(FULL OUT— 其中,selectstatement为待联合的SELECT查询语句。ALL选 ER JOIN或FULL J0IN)。 项表示将所有行都合并到结果集中,若缺省,则被联合查询结果集合 例如,在数据库“图书管理系统”中,以在同一个城市的出版社和 中的重复行将只保留一行。 作者为条件,对“出版社信息表”和“作者表”进行左外连接查询。 注意:①在用UNION子句查询时,查询结果的列标题为第一个 SELECT a.姓名,a.性别,a.籍贯as所在城市,b.出版社名称 查询语句的列标题。因此,必须在第一个SELECT语句中指定列标 FROM作者表as a LEFT JOIN出版社信息表as b 题;( SQL Server要求所引用的表必须具有相似的数据类型、相同 ON a.籍贯=b.出版社所在城市 ___的列数,且每个查询中的选择列表也必须具有相同的列顺序;③如果 0RDER BY姓名 希望结果集中的行按一定顺序排列,则必须在最后一个有UNION 在查询结果窗口中,显示左表中指定列的所有行和对应连接列 操作符的语句中包含ORDER BY子句,以指定排序方式。 的所有行,在左表中没有找到相匹配的右表的对应位置填上NULL。 例如:从数据库“经销商”的“顾客信息表”中,查询姓王的顾客的 例如,在数据库“图书管理系统”中,以在同一个城市的出版社和 姓名和家庭住址,并为其增加一个类型列TYP E1列的内容为“顾 作者为条件,对“出版社信息表”和“作者表”进行完全外连接查询。 客”;从“销售人员表”中,查询姓王的销售人员的姓名和家庭住址,并 SELECT a.姓名,a.性别,a.籍贯as所在城市,b.出版社名称 增加一个列,列的内容为“营业员”;然后,将两个查询结果合并在一 FROM作者表as a FULL JOIN出版社信息表as b 起。 SELECT姓名,家庭住址,’顾客’AS TYPE FROM顾客信息表 ON a.籍贯=b.出版社所在城市 ORDER BY姓名 在查询结果窗口中显示相连接的两个表的所有记录,在没有找
HACCP体系在灭菌荸荠汁乳饮料生产中的应用 刘永铭 (江苏宝应县雅丽嘉食品有限公司) 摘要:本文主要介绍了在荸荠汁饮乳饮料生产中应用HACCP体系的 奶蛋白质含量:鲜奶容器的清洁剂与杀菌剂的残留等也会进入到鲜 重要性,探讨了饮荸荠汁饮乳料生产中应用“危害分析和关键控制点”安全质 奶中。 量保证体系的意义、一般性变化与基本方法,同时简述了荸荠汁乳饮料的质 量安全控制的要点。 ( 物理性污染:牛舍中的外来污染物,如草屑、牛排泄物、金属、 玻璃等对牛乳造成污染。 关键词:荸荠汁乳饮料HACCP过程控制 原料奶的验收作为一个关键控制点,对鲜奶采取抽样检测抗生 作为规范的质量管理体系与方法,HACCP管理体系是确保乳 素检验、酒精试验、酸度滴定、掺假试验等,特别是抗生素指标,要不 饮料在生产、制造、准备和食用等过程中的安全,在危害识别、评价和 定期进行对比检测。 控制方面是一种科学、合理和系统的方法。通过对加工过程的每一步 2.4应用HACCP体系控制原料荸荠的质量 进行监视和控制,从而降低危害发生的概率。 ①微生物易使原料荸荠产生腐败变质、导致食源性疾病的产生。 1 HACCP包括7个原理 ②原料荸荠的栽培和生产过程的农药、化学性肥料等的使用,通 进行危害分析。 过饮料进入到人体,危害着人们的身体健康。 ②确定关键控制点。 2.5应用HACCP体系控制原辅料、包装材料 ③确定各关键控制点关键限值。 ①蔗糖的质量定为常规控制点:纠偏措施:糖浆过滤。 ④建立各关键控制点的监控程序。 ②易拉罐存在着化学原料的涂层,化学性残留物和物理性杂物 ( 建立当监控表明某个关键控制点失控时应采取的纠偏行动。 超标的可能性大。应该定为常规控制点:由审查合格的供应商控制。 ⑥建立证明HACCP系统有效运行的验证程序。 2.6生产过程的HACCP分析和控制 (Z)建立关于所有适用程序和这些原理及其应用的记录系统。 ①原料奶、原料荸荠以及辅料预处理的生物性污染、化学性污染 2 HACCP质量体系在灭菌荸荠汁乳饮料生产中应用的意义与 可能性小。定为常规控制点;控制方法及纠偏措施:按GMP建立良 基本方法 好操作规范,严格执行操作程序。 2.1灭菌荸荠汁乳饮料的基本生产工艺 ②在配料过程中,蛋白质、脂肪和非脂乳固体含量是灭菌调味乳 灭菌荸荠汁乳饮料的基本生产工艺:包括原料奶验收、净乳、预 处理、莲藕处理、榨汁、过滤、混合配料、物料预热、杀菌、均质、UHT 产品标准中强制要求的指标,一定要控制,否则为不合格品。定为 控制方法及纠偏措施:按GMP建立良好操作规范,严格执 灭菌、易拉罐热灌装、罐装奶二次高温高压灭菌、罐产品冷却、检测、 CCP点.行操作程序:指标不合格时应重新进行配料,杂物可以在后面过滤器 喷码、后包装、入库、出厂检测、出厂等工艺环节。 去除。 2.2灭菌荸荠汁乳饮料生产实施HACCP的意义 ③均质操作由于是封闭操作,严格按工艺规程的温度、压力生 在灭菌荸荠汁乳饮料的生产过程中,涉及到荸荠和牛奶的处理、 生物性污染、化学性和物理性污染可能性小,注意均质机泄漏机 调配、两次灭菌等生产工序.采用HACCP体系,可以针对每个生产 产,定为常规控制点。 环节进行预先的危害分析,系统地制定HACCP计划。HACCP体系 油:④UHT灭菌过程:包括产品物料、包装材料、灌装封口设备管道 的是一种系统性强、结构严谨、适用性强而效益显著的以预防为主的 质量保证方法,实施HACCP体系可以在生产产品质量问题出现之 和灌装环境的杀菌,由于是密封操作化学性、物理性污染可能性小。前就可采取预防和纠正措施,因而是积极主动的控制。通过易于监视 但它是产品生产中生物污染的最后防线,否则产品就是废品。定为 工艺参数有波动 的方法、过程、时间、温度和外观等实施全程控制:监控方法简单、直 CCP点控制方法及纠偏措施:严格执行操作程序;包装材料和设备管道重新灭菌,定时检测环境的微 观、可操作性强、快速;只要需要就能采取及时的纠正措施,迅速进行 时料液回流处理, 控制。由于HACCP体系控制集中于生产操作的关键点,就可以对每 生物。⑤灌装封口:生产中控制微生物污染的最后环节,一定要注意灌 批产品采取更多的保证措施,并能用于潜在危害的预告,通过监测结 装室的灭菌工作和良好的封口密封性,避免生物污染。定为CCP点, 果的趋向来反映。 关键限值:根据机型的不同,确定合适的横封的高频频率、封带附贴 2.3应用HACCP体系控制原料乳的质量 控制方法及纠偏措施:按GMP建立良好基础操作 ①微生物污染:原料乳中微生物易使原料乳产生腐败变质、导致 温度、封罐温度,食源性疾病的产生。人畜共患病(如口蹄疫、疯牛病等)、饲养员或挤 条件,严格执行操作程序;进行封合检查、加强消毒处理。 奶员患有结核病、痢疾、伤风感冒等传染性疾病、或个人卫生等原因, ⑥产品的二次高温高压灭菌是最关键的工艺程序,是产品在保 会污染牛乳。 质期内食品安全的最重要的保障。这段工艺中的关键在于产品在灌 ②化学性污染:奶牛抗生素、兽药的使用造成牛奶污染;鲜奶的 装时的真空度、产品灭菌的温度、压力和时间。定为CCP点,控制方 蛋白质含量是一个主要的计价指标,违规添加的非食用物质提高鲜 法及纠偏措施:须严格执行操作程序;进行逐项检查。 (上接第296页) 到相匹配的位置上填上NULL。 3.3交叉连接 在连接查询时,当table—source1和table—source 2是同一个 表时,即对同一个表进行连接操作,则称此连接为自连接。 例如,使用自连接在数据库“图书管理系统”的“作者表”中查找 交叉连接(CROSS JOIN)不带WHERE子句,返回的是被连接 的两个表所有数据行的笛卡尔积,即返回至0结果集中的数据行数等 籍贯是“河北石家庄”的作者。SELECT a.姓名,a.性别,b.姓名,b.性别 于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条 FR0M作者表aS a lNNER JOlN作者表as b 件的数据行数。 ON a.籍贯:b.籍贯 例如,下面将显示数据库“northwind”中“shippers”和“suppli— WHERE a.籍贯=’河北石家庄’ ers”表交叉连接后的结果集,以列出供应商运输其产品的所有可能 方式。 SELECT suppliers.companyname,shippers.companyname 0RDER 8Y姓名 以上对于SELECT用法的介绍只是其最基本的,学生在学习 时。还应多参考其它的一些例子,加强这方面的练习,才能真正达到 熟练掌握其用法的目的。 FR0M suppliers CROSS JOlN shippers 3.4自连接 297
版权声明:本文标题:SQL查询语句——SELECT的使用技巧 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1702882653a434509.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论