SQLServer查询语句大全_第1页
SQLServer查询语句大全_第2页
SQLServer查询语句大全_第3页
SQLServer查询语句大全_第4页
SQLServer查询语句大全_第5页
免费预览已结束,剩余25页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、SQL Server 查询语句大全语 句功能1 、 数 据操作Select - 从数 据 库 表中 检 索 数 据行和列 Insert- 向 数 据 库 表添加新 数 据行2、 数 据定 义Create TABLEDrop TABLEAlter TABLECreate VIEWDelete - 从数 据 库 表中 删 除 数 据行 Update - 更新 数 据 库 表中的 数 据- 创 建一 个数 据 库 表- - 从数 据 库 中 删 除表- - 修改 数 据 库 表 结构- - 创 建一 个视图Drop VIEW - 从数 据 库 中 删 除 视图Create INDEX - 为数 据

2、库 表 创 建一 个 索引Drop INDEX - 从数 据 库 中 删 除索引Create PROCEDURE - 创 建一 个 存 储过 程Drop PROCEDURE - 从数 据 库 中 删 除存 储过 程Create TRIGGER - 创 建一 个触发 器Drop TRIGGER从数 据 库 中 删 除 触发 器Create SCHEMA数 据 库 添加一 个 新模式Drop SCHEMA从数 据 库 中 删 除一 个 模式Create DOMAIN创 建一 个数 据 值 域Alter DOMAINDrop DOMAIN- 改 变 域定 义- 从数 据 库 中 删 除一 个 域3、

3、 数 据控制GRANT - 授予用 户访问权 限DENY - 拒 绝 用 户访问REVOKE- 解除用 户访问权 限4、事务 控制COMMIT- 结 束 当 前事务ROLLBACK - 中止 当 前事 务SET TRANSACTION - 定 义当 前事 务数 据 访问 特征5、程序化SQLDECLARE - 为查询设 定游 标EXPLAN - 为查询 描述 数 据 访问计划OPEN - 检 索 查询结 果打 开 一 个 游 标FETCH- 检 索一行 查询结 果CLOSE- 关闭 游 标PREPARE - 为动态执行准 备 SQL 语 句EXECUTE-动态地 执 行SQL语 句DESCRI

4、BE-描述准 备 好的 查询6、局部变 量declare id char(10)-set id = ''select id = ''7、全局 变 量- 必 须 以 开头8 、 IF 语 句declare x int y int z intselect x = 1 y = 2 z=3if x > yprint 'x > y' - 打印字符串'x > y'else if y > zprint 'y > z'else print 'z > y'9 、 CASE 语 句

5、use pangu update employee set e_wage = casewhen job_level = when job_level = when job_level = else e_wage*1.05 end1 then e_wage*1.082 then e_wage*1.073 then e_wage*1.0610 、 WHILE CONTINUE BREAK 语 句declare x int y int c intselect x = 1 y=1while x < 3beginprint x - 打印 变 量 x 的 值while y < 3beginse

6、lect c =100*x+ yprint c - 打印 变 量 c 的 值select y = y + 1endselect x = x + 1select y = 1 end11 、 WAITFOR 语 句- 例 等待 1 小 时 2 分零 3 秒后才 执 行 Select 语 句waitfor delay 01:02:03 select * from employee- 例 等到 晚 上 11 点零 8 分后才 执 行 Select 语 句waitfor time 23:08:00 select * from employee12、 Select 语 句select *( 列名 ) fr

7、om table_name( 表名 ) wherecolumn_name operator valueex:( 宿主 )select * from stock_information where stockid=str(nid)stockname = 'str_name'stockname like '% find this %'stockname like 'a-zA-Z%' (指定值 的范 围 )stockname like 'AF-M%'(八排除指定范 围 )只能在使用like 关键 字的 where 子句中使用通配符 )o

8、r stockpath = 'stock_path'or stocknumber < 1000and stockindex = 24not stocksex = 'man'stocknumber between 20 and 100stocknumber in(10,20,30)order by stockid desc(asc) 排序,desc- 降序, asc- 升序order by 1,2 by列 号stockname = (select stockname fromstock_information where stockid = 4)子 查询除非

9、能确保内层 select 只返回一 个 行的值,否 则应 在外 层 where 子句中用一个 in 限定符select distinct column_name form table_namedistinct指定 检 索 独 有的列 值 ,不重 复select stocknumber ,"stocknumber + 10" =stocknumber + 10 from table_nameselect stockname , "stocknumber" = count(*) fromtable_name group by stockname group

10、by 将 表按行分 组 ,指定列中有相同的值having count(*) = 2 having选 定指定的 组select *from table1, table2where table1.id *= table2.id 左外部 连 接,table1 中有的而table2 中 没 有得以 null 表示table1.id =* table2.id 右外部 连 接select stockname from table1union all union合 并查询结果集, all- 保留重 复 行select stockname from table213 、 insert 语 句insert in

11、to table_name (Stock_name,Stock_number)value ("xxx","xxxx")value (select Stockname , Stocknumberfrom Stock_table2)-value为 select 语 句14 、 update 语 句update table_name set Stockname = "xxx" whereStockid = 3Stockname = defaultStockname = nullStocknumber = Stockname + 415 、

12、delete 语 句delete from table_name where Stockid = 3<, /P>truncate table_name 删 除表中所有行,仍保持表的完整性drop table table_name 完全 删 除表16 、 alter table* -修改 数 据 库 表 结构alter table database.owner.table_name addcolumn_name char(2) null sp_help table_name 显 示表已有特征create table table_name (name char(20), age sma

13、llint,lname varchar(30)insert into table_name select 实现删除列的方法( 创 建新表)alter table table_name drop constraint Stockname_default 删 除 Stockname 的 default 约束17 、常用函 数 统计 函 数 AVG-求平均值COUNT - 统计数 目MAX-求最大值MIN-求最小值SUM-求和- -AVGuse panguselect avg(e_wage) as dept_avgWagefrom employeegroup by dept_id- -MAX- -

14、求工 资 最高的 员 工姓名use panguselect e_namefrom employee where e_wage =(select max(e_wage)from employee)- -STDEV()- -STDEV()函 数 返回表 达 式中所有 数 据的 标 准差- -STDEVP()- -STDEVP() 函 数 返回 总 体 标 准差- -VAR()- -VAR() 函 数 返回表 达 式中所有 值 的 统计变异数-VARP()- -VARP() 函 数 返回 总 体 变异数算 术 函 数 /* 三角函 数 */SIN(float_expression) -COS(flo

15、at_expression) -TAN(float_expression) -COT(float_expression) -/* 反三角函 数 */ASIN(float_expression) -示的角ACOS(float_expression) -返回以弧度表示的角的正弦返回以弧度表示的角的余弦返回以弧度表示的角的正切返回以弧度表示的角的余切返回正弦是FLOAT 值 的以弧度表返回余弦是FLOAT 值 的以弧度表示的角ATAN(float_expression) - 表示的角返回正切是FLOAT 值 的以弧度ATAN2(float_expression1,float_expression2)

16、- 返回正切是float_expression1/float_expres-sion2 的以弧度表示的角DEGREES(numeric_expression)- 把弧度 转换为 角度返回 与 表 达 式相同类型转换为 弧度返回 与类型数 据 类 型可 为-INTEGER/MONEY/REAL/FLOATRADIANS(numeric_expression) - 表 达 式相同的 数 据 类 型可 为-INTEGER/MONEY/REAL/FLOAT返回表 达 式的指 数值返回表 达 式的自然 对数值返回表达 式的以10 为 底的 对数返回表达 式的平方根EXP(float_expression

17、) -LOG(float_expression) -LOG10(float_expression)- 值SQRT(float_expression) -/* 取近似 值 函 数 */CEILING(numeric_expression) -返回 >= 表 达 式的最小整数返回的 数 据 类 型 与 表 达 式相同可 为- -INTEGER/MONEY/REAL/FLOAT类 型FLOOR(numeric_expression)数 返回的 数 据 类 型 与 表 达 式相同可 为返回 <= 表 达 式的最小整- -INTEGER/MONEY/REAL/FLOAT 类 型ROUND(n

18、umeric_expression)- 返回以integer_expression 为 精度的四舍五入值 返回的 数 据- - 类 型 与 表 达 式相同可 为INTEGER/MONEY/REAL/FLOAT 类 型ABS(numeric_expression)- 返回表 达 式的 绝对值 返回的 数 据 类 型 与 表 达 式相同可 为- -INTEGER/MONEY/REAL/FLOAT 类 型SIGN(numeric_expression)- 测试参数 的正 负号 返回 0零 值 1 正 数 或 -1 负数 返回的 数 据 类 型- - 与 表 达 式相同可 为 INTEGER/MONE

19、Y/REAL/FLOAT 类型PI()-返回值为兀即3.97936RAND(integer_expression)- 用任 选 的integer_expression 做 种 子 值 得出 0-1 间 的 随 机浮点 数18 、字符串函数ASCII()- 函 数 返回字符表达 式最左端字符的ASCII 码CHAR()函 数 用于 将 ASCII 码转换为 字符值如果 没 有 输 入 0 255 之 间 的 ASCII 码值 CHAR 函 数会返回一 个 NULL 值LOWER() - 函 数 把字符串全部转换为 小 写UPPER() - 函 数 把字符串全部转换为 大 写STR() - 函 数

20、 把 数值 型 数 据 转换为 字符型 数 据LTRIM()- 函 数 把字符串 头 部的空格去掉RTRIM()- 函 数 把字符串尾部的空格去掉LEFT(),RIGHT(),SUBSTRING() - 函 数 返回部分字符串CHARINDEX(),PATINDEX() - 函 数 返回字符串中某个 指定的子串出 现 的 开 始位置SOUNDEX() - 函 数 返回一 个 四位字符 码- -SOUNDEX 函 数 可用 来查 找 声 音相似的字符串但SOUNDEX函 数对数 字和 汉 字均只返回0 值DIFFERENCE() - 函 数 返回由 SOUNDEX 函 数 返回的 两个 字符表

21、达 式的 值 的差 异- -0两个SOUNDEX 函 数返回值 的第一个字符不同- -1两个SOUNDEX 函 数返回值 的第一个字符相同- -2两个 SOUNDEX 函 数 返回 值 的第一二 个 字符相同- -3两个SOUNDEX 函 数返回值 的第一二三个 字符相同- -4两个SOUNDEX 函 数返回值 完全相同QUOTENAME() - 函 数 返回被特定字符括起来 的字符串/*select quotename('abc', '') quotename('abc')运 行 结 果如下abc abc*/REPLICATE() - 函 数

22、返回一 个 重 复 character_expression 指定次 数 的字符串 /*select replicate('abc', 3) replicate( 'abc', -2) 运 行 结 果如下abcabcabc NULL*/REVERSE() - 函 数将 指定的字符串的字符排列顺 序 颠 倒REPLACE()- 函 数 返回被替 换 了指定子串的字符串/*select replace('abc123g', '123', 'def')运 行 结 果如下abcdefg*/SPACE() - 函 数 返回一

23、 个 有指定 长 度的空白字符串STUFF() - 函 数 用另一子串替换 字符串指定位置长 度的子串19 、 数 据 类 型 转换 函 数 CAST() 函 数语 法如下CAST() (<expression> AS <data_ type> length )CONVERT() 函 数语 法如下CONVERT() (<data_ type> length , <expression> , style)select cast(100+99 as char) convert(varchar(12),getdate()运 行 结 果如下199 Jan

24、 15 200020、日期函 数 DAY() - 函 数 返回 date_expression 中的日期值MONTH() - 函 数 返回 date_expression 中的月 份值YEAR() - 函 数 返回 date_expression 中的年 份值 DATEADD(<datepart> ,<number> ,<date>)- 函 数 返回指定日期date 加上指定的额 外日期 间 隔number 产 生的新日期DATEDIFF(<datepart> ,<number> ,<date>)- 函 数 返回 两个 指

25、定日期在datepart 方面的不同之处DATENAME(<datepart> , <date>) -函 数 以字符串的形式返函 数 以整 数值 的形式返回日期的指定部分DATEPART(<datepart> , <date>) -回日期的指定部分GETDATE() - 函 数 以 DATETIME 的缺省格式返回系统当 前的日期和 时间21 、系 统 函 数 APP_NAME() - 函 数 返回 当 前 执 行的 应 用程序的名称COALESCE() - 函 数 返回 众 多表 达 式中第一 个 非 NULL 表 达 式的 值 COL_LEN

26、GTH(<'table_name'>, <'column_name'>) -函 数返回表中指定字段的长 度 值COL_NAME(<table_id>, <column_id>)- 函 数 返回表中指定字段的名称 即列名DATALENGTH() - 函 数 返回 数 据表 达 式的 数 据的 实际长 度 DB_ID('database_name') - 函 数 返回 数 据 库 的 编号 DB_NAME(database_id) - 函 数 返回 数 据 库 的名 称 HOST_ID() - 函 数

27、返回服 务 器端 计 算机的名 称 HOST_NAME() - 函 数 返回服 务 器端 计 算机的名 称 IDENTITY(<data_type>, seed increment) AS column_name)- -IDENTITY() 函 数 只在 Select INTO 语 句中使用用于插 入一个 identity column 列到新表中/*select identity(int, 1, 1) as column_name into newtable数 判 断 所 给 定的表 达 式是否 为 合理日期from oldtable*/ISDATE() -ISNULL(<

28、check_expression>, <replacement_value>)- - 函 数将 表 达 式中的 NULL 值 用指定 值 替 换ISNUMERIC() - 函 数 判 断 所 给 定的表 达 式是否 为 合理的 数值NEWID() - 函 数 返回一 个 UNIQUEIDENTIFIER 类 型的 数值NULLIF(<expression1>, <expression2>)- -NULLIF 函 数 在 expression1 与 expression2 相等 时 返回NULL 值 若不相等 时则 返回 expression1 的 值2

29、2、 数学 函 数1. 绝对值S:select abs(-1) valueO:select abs(-1) value from dual2. 取整(大 )S:select ceiling(-1.001) valueO:select ceil(-1.001) value from dual3. 取整(小)S:select floor(-1.001) valueO:select floor(-1.001) value from dual4. 取整(截取)S:select cast(-1.002 as int) valueO:select trunc(-1.002) value from dual

30、5. 四舍五入S:select round(1.23456,4) value 1.23460O:select round(1.23456,4) value from dual 1.23466. e 为 底的 幂S:select Exp(1) value 2.90451O:select Exp(1) value from dual 2.7. 取 e 为 底的 对数S:select log(2.90451) value 1O:select ln(2.90451) value from dual; 18. 取 10 为 底 对数S:select log10(10) value 1O:select l

31、og(10,10) value from dual; 19. 取平方S:select SQUARE(4) value 16O:select power(4,2) value from dual 1610. 取平方根S:select SQRT(4) value 2O:select SQRT(4) value from dual 211. 求任意 数为 底的 幂S:select power(3,4) value 81O:select power(3,4) value from dual 8112. 取 随 机 数S:select rand() valueO:select sys.dbms_rand

32、om.value(0,1) value fromdual;13. 取符 号S:select sign(-8) value -1O:select sign(-8) value from dual -1数学 函 数14. 圆 周率S:Select PI() value 3.97931O:不知道15.sin,cos,tan 参数 都以弧度为单 位例如: select sin(PI()/2) value 得到 1 ( SQLServer )16.Asin,Acos,Atan,Atan2 返回弧度17. 弧度角度互换 (SQLServer , Oracle 不知道 )DEGREES:弧度- > 角

33、度RADIANS :角度 - 弧度数值间 比 较18. 求集合最大值S:select max(value) value from(select 1 valueunionselect -2 valueunionselect 4 valueunionselect 3 value)aO:select greatest(1,-2,4,3) value from dual19. 求集合最小值S:select min(value) value from(select 1 valueunionselect -2 valueunionselect 4 valueunionselect 3 value)aO:s

34、elect least(1,-2,4,3) value from dual20. 如何 处 理 null 值 (F2 中的 null 以 10 代替 )S:select F1,IsNull(F2,10) value from TblO:select F1,nvl(F2,10) value from Tbl数值间 比 较21. 求字符序 号S:select ascii('a') valueO:select ascii('a') value from dual22. 从 序 号 求字符S:select char(97) valueO:select chr(97) v

35、alue from dual23. 连 接S:select '11'+'22'+'33' valueO:select CONCAT('11','22')|33 value from dual23. 子串位置- 返回 3S:select CHARINDEX('s','sdsq',2) valueO:select INSTR('sdsq','s',2) value from dual24. 模糊子串的位置- 返回 2, 参数 去掉中 间 %则 返回 7S:

36、select patindex('%d%q%','sdsfasdqe') valueO:oracle 没发现,但是instr 可以通过第四霾问U瞥就执问 ?BR> select INSTR('sdsfasdqe','sd',1,2) value fromdual 返回 625. 求子串S:select substring('abcd',2,2) valueO:select substr('abcd',2,2) value from dual26. 子串代替返回 aijklmnefS:Selec

37、t STUFF('abcdef', 2, 3, 'ijklmn') valueO:Select Replace('abcdef', 'bcd', 'ijklmn') valuefrom dual27. 子串全部替换S: 没发现O:select Translate('fasdbfasegas','fa','我 ' ) valuefrom dual28. 长 度S:len,datalengthO:length29. 大小 写转换 lower,upper30. 单词 首字母

38、大 写S: 没发现O:select INITCAP('abcd dsaf df') value from dual31. 左 补 空格( LPAD 的第一 个参数为 空格 则 同 space 函 数 )S:select space(10)+'abcd' valueO:select LPAD('abcd',14) value from dual32. 右 补 空格( RPAD 的第一 个参数为 空格 则 同 space 函 数 )S:select 'abcd'+space(10) valueO:select RPAD('ab

39、cd',14) value from dual33. 删 除空格S:ltrim,rtrimO:ltrim,rtrim,trim34. 重 复 字符串S:select REPLICATE('abcd',2) valueO:没发现35. 发 音相似性比较 (这两个单词返回 值 一 样 , 发 音相同 )S:Select SOUNDEX ('Smith'), SOUNDEX ('Smythe')O:Select SOUNDEX ('Smith'), SOUNDEX ('Smythe') from dualSQLServer 中用 Select DIFFERENCE('Smithers','Smythers') 比 较 soundex 的差返回 0-4 , 4 为 同音, 1 最高23、日期函 数36. 系 统时间S:select getdate() valueO:select sysdate value from dual37. 前后几日直接 与 整 数 相加 减38. 求日期S:select convert(char(10),getdate(),

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论