1. 进入SQLServer查询分析器的运行命令:isqlw.,在此选中SQL代码用CTRL+ALT+C进行代码注释
2. 合并列的方式:
SQLSERVER:
eg: SELECT ID+NAME FROM TableName
Oracle:
eg: SELECT ID||NAME FROM TableName
3. 在查询结果中增加列:
eg:
SELECT ‘ID’,’号的真实姓名为:’,NAME FROM PERSON;
4. 查询所有员工名5. 单,6. 并将工资降序排序。
说明:Order By 有一个附加参数:ASC | DESC表 明是升序排序还是将序排序。缺省ASC。
eg:
SELECT EMP_ID 员工ID,EMP_FNAME+EMP_LNAME 员工姓名,SALARY 基本工资
FROM EMPLOYEE
ORDER BY SALARY DESC; --按工资降序排列
7. 去除冗余查询
eg: Select distinct city from employee
8. 选取前几行数据, 工资最高前三名9.
eg: SELECT top 3 EMP_ID 员工ID,EMP_FNAME+EMP_LNAME 员工姓名,SALARY 基本工资
FROM EMPLOYEE
ORDER BY SALARY DESC;
10. 等值连接查询
可以用两种方式来指定查询条件:
a.用where子句指定连接条件;
b.在from子句中用join连接符指定连接条件。
eg:
select emp_id,e.dept_id,dept_name
from employee e,department d
where e.dept_id=d.dept_id
eg:
select emp_id,e.dept_id,dept_name
from employee e join department d
on e.dept_id=d.dept_id
11.
12. 等值连接查询
eg:
select e.emp_id,e.dept_id
from employee e,department d
where e.emp_id<>d.dept_head_id
13. 模糊查询where 条件 like ‘%P%’
14. Where salary between 20000 and 30000 指15. 定范围内的条件语句
16. dept_id in (100,200)指17. 定固定值的条件语句
18. SQL标19. 准库函数count(),count(*),sum(),avg(),max(),min()
20. 分组查询group by 指21. 定字段或字段组合
22. 按条件分组查询group by dept
having sex=’f’
23. 在一个select语句的where子句或having子句中嵌套另一个SELECT语句的查询称为嵌套查询又称子查询。可以采用如:谓词IN,谓词EXISTS连接子查询。
eg:查询最高工资的员工信息
select *
from employee
where salary=(select max(salary)
from employee)
eg:查询各部门员工工资最高的员工信息
select *
from employee
where salary in(select max(salary)
from employee
group by dept_id)
24. select dept_id,dept_name
from department
where dept_id in (select dept_id
from employee
where salary>90000)
order by dept_id desc
25. 局部变量赋值
DECLARE @A INT
SELECT TOP 1 @A=EMP_ID
FROM EMPLOYEE
PRINT @A
26. SQL编程
declare @cou int
select @cou=count(*) from employee
where state='GH'
if @cou>0
print '有'+cast(@cou as varchar(10))+'名员工来自GH洲'
else
print '没有一个员工来自GH洲'
where语句编程
修改员工表的工资,如果全体平均工资低于60000元时,给全体员工加发200元生活补贴费。(但最 高工资不超过150000元)
while (select avg(salary) from employee)<60000
begin
update employee set salary=salary+200
if(select max(salary) from employee)>15000
break
else
continue
end
case语句编程
update employee
set salary=
case
when dept_id=100 then salary*1.08
when dept_id=200 then salary*1.07
when dept_id=300 then salary*1.06
else salary*1.05
end
27. 创建视图
Create view myemployeeview
As
Select *
From employee
28. 查询视图 sp_helptext myemployeeview
29. 游标30. :声明、打开、从游标31. 中重复32. 提取行,33. 进行处理、关闭、释放 代码段待解决中。。。。
34. SQLSERVER事件探查器与SQLSERVER查询分析器
35. sp_help查询当前所选库下的所有对象
sp_helpconstraint employee
SELECT LEN('A') FROM sysobjects
36. 触发器是一种特殊类型的存储过程,37. 它是通过事件触发而38. 自动被执行的。它与存储过程的区别是:
1. 触发器是自动的,2. 存储过程是被调用的
3. 级联修改数据库中的所有相关表
4. 可以在同5. 一张表的同6. 一类型的操作上设置多个触发器
7. 激活触发器的事件,8. 有效选项是insert,update,delete语句。
39. 公用对象
1.查询系统配置函数(可以在软件的查询分析器的配置函数中找到…)
select @@version --系统版本
select @@connections --已打开或试图打开的连接数
select @@spid --当前用户进程的ID
2.游标函数
select @@CURSOR_ROWS,@@FETCH_STATUS
3.日期和时间函数
select getdate() --得到当前年月日时分秒值2006-10-26 23:37:45.263
select getutcdate() -UTC时间的日期时间值
SELECT YEAR('10/26/2006') --2006取年份
SELECT DATEADD(day, 4,0)-在向指定日期加上一段时间的基础上,返回新的 datetime 值。
4. 数学函数、聚合函数、元数据函数,安全函数、字符器函数、系统函数、系统统计函数、text和image函数、
40. 存储过程的功能:是一组预先编译好的代码,41. 可以是独立的数据库对象,42. 也可以作为一个单元被应用程序调用。优点:执行速度快、模块化的程序设计、减少网络通讯量、提高系统安全性。存储过程可以分为:系统存储过程和用户存储过程。无参数的存储过程、带有输入参数的存储过程、带有输出参数的存储过程。存储过程的执行方式:exec 存储过程名43. 称 或者 直接存储过程名44. 称
查看存储过程的代码:sp_helptext 存储过程名称
Create procedure 存储过程名称
[ { 参数 数据类型 }[ = 默认值 ] [ output ] ]
AS
SQL 语句
eg:
create procedure myprocedure
as
select avg(sal)平均工资,sum(sal)总工资
from emp
group by deptno
sp_rename 旧存储过程名,新存储过程名
drop proc 存储过程名
45. 删除数据的两种方式:delete,46. truncate
sp_help employee 查看表结构
select system_user --sa
select user_name() --dbo
47. 说明:规则是对数据库表中数据信息的限制。它限定的是表的列。
规则可以是 WHERE 子句中任何有效的表达式,并且可以包含诸如算术运算符、关系运算符和谓词(如 IN、LIKE、BETWEEN)之类的元素。表达式必须以字符”@”开头。
create rule 规则名称
as 定义规则的条件
eg:
create rule job_level_rule as @leve in (1,2,3,4,5)
sp_bindrule 规则名称,要绑定的对象名称,
' futureonly’
‘ futureonly’说明:
仅当将规则绑定到用户定义的数据类型时才使用。当指定此选项时,仅以后使用此用户自定义 数据类型的列会应用新规则,而当前已经使用此数据类型的列则不受影响。
绑定规则job_level_rule到用户自定义数据类型job_level上。
sp_bindrule job_level_rule , job_level,
'futureonly'
sp_unbindrule 要解除规则的对象名称,
'futureonly’
‘ futureonly’说明:
仅用于解除用户定义数据类型规则的绑定。当参数 futureonly_flag 为 futureonly 时,现有 的属于该数据类型的列不会失去指定规则。如不指定,则现在使用该数据类型的列将会推动该规则。
为用户自定义数据类型job_level解除与规则job_level_rule的绑定。
sp_unbindrule job_level,'futureonly’
sp_helptext 规则名称
drop rule 规则名称
创建; create rule
查看; sp_helptext
绑定; sp_bindrule
解除规则的绑定; sp_unbindrule
删除规则; drop rule
48. SQLServer中,49. 复50. 制
分享到:
相关推荐
这可能涉及到Java的JDBC(Java Database Connectivity)API,包括加载驱动、建立连接、执行SQL语句和处理结果集。 6. **MVC设计模式**:尽管这个项目可能比较简单,但为了使代码更易于管理和扩展,开发者可能会采用...
8. **第19章 访问数据库**:这部分内容涉及如何使用LabView连接和操作各种数据库,如SQL Server、Oracle等,进行数据存储和检索。 9. **第17章 动态程序控制技术**:动态程序控制技术涵盖条件分支、循环结构、事件...
- **开启SSH服务**:使用命令`sudo apt-get install openssh-server`安装SSH服务;通过命令`ps aux | grep ssh`检查SSH服务是否启动。 - **开启FTP服务**:使用命令`sudo apt-get install vsftpd`安装vsftpd;编辑...