当前位置: 首页 > 科技观察

SQLServer-《SQL必知必会》读书笔记(二)

时间:2023-03-21 18:39:53 科技观察

2.1SELECT语句  用途:从一个或多个表中检索数据信息关键字:作为SQL一部分的保留字。关键字不能用作表名或列名。为了使用SELECT检索表数据,至少必须给出两条信息:选择什么和选择哪里。2.2检索单列SELECTprod_nameFROMProducts;--分析:使用SELECT语句从Products表中检索名为prod_name的列。--需要的列名写在SELECT关键字之后,FROM关键字用于从该表中检索数据。  [提示]使用“;”并将语句拆分成多行可以增强可读性【提示】SQL语句不区分大小写,即“SELECT”与“select”相同;但表名、列名和值可能不同。2.3检索多列从表中检索多列,仍然使用相同的SELECT语句。唯一不同的是,SELECT关键字后必须给出多个列名,列名之间用逗号分隔SELECTprod_id,prod_name,prod_priceFROMProducts;--分析:使用SELECT语句从表Products中选取3列数据2.4检索所有列除了指定所需的列外,SELECT语句还可以检索所有列而无需单独列出它们。使用星号(*)通配符代替实际的列名来执行SELECT*FROMProducts--分析:如果给出通配符(*),则返回表中的所有列。列的顺序通常是列在表定义中出现的物理顺序。  【注意】除非你真的需要表中的每一列,否则***不要使用*通配符。检索不需要的列通常会降低检索和应用程序性能。2.5检索不同的值  SELECT语句返回所有匹配的行,但我们不希望每个值每次都出现,怎么办?如果要检索products表中所有产品供应商的idSELECTvend_idFROMProducts    ,发现有重复值,如何解决?方法是使用DISTINCT关键字SELECTDISTINCTvend_idFROMProducts——分析:SELECTDISTINCTvend_id告诉DBMS只返回(唯一的)vend_id行。如果使用DISTINCT关键字,它必须直接放在列名之前。    【注意】DISTINCT关键字作用于所有列,除非指定的两列完全相同,否则将检索所有行。2.6限制结果SELECT语句返回指定表中所有匹配的行。如果我们只想返回***行或一定数量的行怎么办?--使用TOP关键字SELECTTOP5prod_nameFROMProducts--分析:使用SELECTTOP5语句只检索前5行数据2.7使用注释内联注释:使用“--”SELECT*--inlinecommentsFROMProducts;多行注释:使用"/**/"/*多行注释SELECT*FROMProducts;*/