|
SQL语言基础(1)_mssql学习_编程技术-你的首页-uuhomepage.com对象命名的约定:数据库名.所有者名.对象名前两者可省略,默认值数据库是当前数据库,所有者是dbo别名:数据库名称 as 数据库表名 主要是增加select语句的可读性,如果已经为数据表制定了别名,则在相应的SQL语句中,对该数据表的所有显示引用都要使用别名,而不能使用数据表名。select语句是数据检索中最频繁的活动,再检索前要先知道存储在哪里,select语句可以由多个查询子语句组成,而且可以嵌套。select语句可以检索:全部行列,全部行和特定列,限定范围的行,与一组值匹配的行,根据未知值检索的行,隐藏有重复值的行,根据所个搜索条件检索的行。基本结构:SELECT [ALL|DISTINCT]select_list [INTO [new_table_name]] FROM{table_name|view_name,...} [WHERE search_conditons] [GROUP BY group_by_list] [HAVING search_conditions] [ORDER BY order_list [asc|desc]]WHERE和HAVING的区别是WHERE是对整个表进行选择,而HAVING则是对分组当中的元素进行选择。select子句SELECT [ALL|DISTINCT] [TOP N] select_listselect_list既可表示字段名称,也可以是其他表达式。all指定在结果集中可以显示重复行,distinct不显示相同行,TOP n [PERCENT]指定只从查询结果集中输出前 n 行。n 是介于 0 和 4294967295 之间的整数。如果还指定了 PERCENT,则只从结果集中输出前百分之 n 行。当指定时带 PERCENT 时,n 必须是介于 0 和 100 之间的整数。例子:USE NORTHWINDSELECT PRODUCTID,ORDERID,UnitPrice*Quantity AS SUMINTO KKKKKKFROM [Order Details]WHERE UnitPrice*Quantity>10000;AS 子句可用来更改结果集列名或为导出列指定名称。如此例,sum更清楚所表示的内容,否则,这个算术式会由系统指定名称。所以在该语句当中where后面的UnitPrice*Quantity不能写成sum,因为sum是结果集当中使用的名称,在搜索条件中还没有被指定。而且这个例子中的表 order details中包含关键字order,所以不能直接用,要加[]。INTO子句用于把结果集存放在新表当中,select into不能和compute子句一起使用,select子句指定计算列时则会起一个名称。
|