SQL语言基础(1)
对象命名的约定:数据库名.所有者名.对象名
前两者可省略,默认值数据库是当前数据库,所有者是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_list
select_list既可表示字段名称,也可以是其他表达式。
all指定在结果集中可以显示重复行,distinct不显示相同行,TOP n [PERCENT]指定只从查询结果集中输出前 n 行。n 是介于 0 和 4294967295 之间的整数。如果还指定了 PERCENT,则只从结果集中输出前百分之 n 行。当指定时带 PERCENT 时,n 必须是介于 0 和 100 之间的整数。
例子:
USE NORTHWIND
SELECT PRODUCTID,ORDERID,UnitPrice*Quantity AS SUM
INTO KKKKKK
from [Order Details]
WHERE UnitPrice*Quantity>10000;
AS 子句可用来更改结果集列名或为导出列指定名称。如此例,sum更清楚所表示的内容,否则,这个算术
式会由系统指定名称。所以在该语句当中where后面的UnitPrice*Quantity不能写成sum,因为sum是结果
集当中使用的名称,在搜索条件中还没有被指定。
而且这个例子中的表 order details中包含关键字order,所以不能直接用,要加[]。
相关文档:
经典SQL语句大全
下列语句部分是Mssql语句,不可以在access中使用。
SQL分类:
DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)
DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)
DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)
首先,简要介绍基础语句:
......
if(query.getIsScrapAlert()!=null&&query.getIsScrapAlert()==1){
//criteria.add(Expression.sql(" add_months(this_.D_RECEIVE_DATE,this_.N_DEPRECIABLE_LIFE*12)<add_months(sysdate,-3) "));
criteria.add(Expression.sql(" ((add_months(this_. ......
eclipse 关联 sql server 的JDBC问题
编程运行后提示:
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
上网查了,有的说在环境变量里的classpath添加 JDBC里的3个jar文件就可以,但是使用后还是不行。
后来才知道解决方法:
包资源管理器-->包名右键"构建路径"--> ......
SQL server安装时时:“以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机”错误。
打开注册表编辑器(开始->运行->regedit),在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager中找到PendingFileRenameOperations项目,并删除它。这样 ......