SQL查询语句大全.doc_第1页
SQL查询语句大全.doc_第2页
SQL查询语句大全.doc_第3页
SQL查询语句大全.doc_第4页
SQL查询语句大全.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

SQL查询语句大全语句 功能1、数据操作Select -从数据库表中检索数据行和列Insert -向数据库表添加新数据行Delete -从数据库表中删除数据行Update -更新数据库表中的数据2、数据定义Create TABLE -创建一个数据库表Drop TABLE -从数据库中删除表Alter TABLE -修改数据库表结构Create VIEW -创建一个视图Drop VIEW -从数据库中删除视图Create INDEX -为数据库表创建一个索引Drop INDEX -从数据库中删除索引Create PROCEDURE -创建一个存储过程Drop PROCEDURE -从数据库中删除存储过程Create TRIGGER -创建一个触发器Drop TRIGGER -从数据库中删除触发器Create SCHEMA -向数据库添加一个新模式Drop SCHEMA -从数据库中删除一个模式Create DOMAIN -创建一个数据值域Alter DOMAIN -改变域定义Drop DOMAIN -从数据库中删除一个域3、数据控制GRANT -授予用户访问权限DENY -拒绝用户访问REVOKE -解除用户访问权限4、事务控制COMMIT -结束当前事务ROLLBACK -中止当前事务SET TRANSACTION -定义当前事务数据访问特征5、程序化SQLDECLARE -为查询设定游标EXPLAN -为查询描述数据访问计划OPEN -检索查询结果打开一个游标FETCH -检索一行查询结果CLOSE -关闭游标PREPARE -为动态执行准备SQL 语句EXECUTE -动态地执行SQL 语句DESCRIBE -描述准备好的查询6、局部变量declare id char(10)-set id = 10010001select id = 100100017、全局变量-必须以开头8、IF 语句declare x int y int z intselect x = 1 y = 2 z=3if x yprint x y -打印字符串x yelse if y zprint y zelse print z y9、CASE 语句use panguupdate employeeset e_wage =casewhen job_level = 1 then e_wage*1.08when job_level = 2 then e_wage*1.07when job_level = 3 then e_wage*1.06else e_wage*1.05end10、WHILE CONTINUE BREAK 语句declare x int y int c intselect x = 1 y=1while x 3beginprint x -打印变量x 的值while y 3 begin select c =100*x+ y print c -打印变量c 的值 select y = y + 1 endselect x = x + 1select y = 1end11、WAITFOR语句-例 等待1 小时2 分零3 秒后才执行Select 语句waitfor delay 01:02:03select * from employee-例 等到晚上11 点零8 分后才执行Select 语句waitfor time 23:08:00select * from employee12、Select语句 select *(列名) from table_name(表名) where column_name operator value ex:(宿主)select * from stock_information where stockid = str(nid) stockname = str_name stockname like % find this % stockname like a-zA-Z% - (指定值的范围) stockname like F-M% - (排除指定范围) - 只能在使用like关键字的where子句中使用通配符) or stockpath = stock_path or stocknumber =表达式的最小整数返回的数据类型与表达式相同可为 -INTEGER/MONEY/REAL/FLOAT 类型FLOOR(numeric_expression) -返回=表达式的最小整数返回的数据类型与表达式相同可为 -INTEGER/MONEY/REAL/FLOAT 类型ROUND(numeric_expression) -返回以integer_expression 为精度的四舍五入值返回的数据 -类型与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型ABS(numeric_expression) -返回表达式的绝对值返回的数据类型与表达式相同可为 -INTEGER/MONEY/REAL/FLOAT 类型SIGN(numeric_expression) -测试参数的正负号返回0 零值1 正数或-1 负数返回的数据类型 -与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型PI() -返回值为 即3.1415926535897936RAND(integer_expression) -用任选的integer_expression做种子值得出0-1 间的随机浮点数18、字符串函数ASCII() -函数返回字符表达式最左端字符的ASCII 码值CHAR() -函数用于将ASCII 码转换为字符 -如果没有输入0 255 之间的ASCII 码值CHAR 函数会返回一个NULL 值LOWER() -函数把字符串全部转换为小写UPPER() -函数把字符串全部转换为大写STR() -函数把数值型数据转换为字符型数据LTRIM() -函数把字符串头部的空格去掉RTRIM() -函数把字符串尾部的空格去掉LEFT(),RIGHT(),SUBSTRING() -函数返回部分字符串CHARINDEX(),PATINDEX() -函数返回字符串中某个指定的子串出现的开始位置SOUNDEX() -函数返回一个四位字符码 -SOUNDEX函数可用来查找声音相似的字符串但SOUNDEX函数对数字和汉字均只返回0 值 DIFFERENCE() -函数返回由SOUNDEX 函数返回的两个字符表达式的值的差异 -0 两个SOUNDEX 函数返回值的第一个字符不同 -1 两个SOUNDEX 函数返回值的第一个字符相同 -2 两个SOUNDEX 函数返回值的第一二个字符相同 -3 两个SOUNDEX 函数返回值的第一二三个字符相同 -4 两个SOUNDEX 函数返回值完全相同 QUOTENAME() -函数返回被特定字符括起来的字符串/*select quotename(abc, ) quotename(abc)运行结果如下-abc abc*/REPLICATE() -函数返回一个重复character_expression 指定次数的字符串/*select replicate(abc, 3) replicate( abc, -2)运行结果如下- -abcabcabc NULL*/REVERSE() -函数将指定的字符串的字符排列顺序颠倒REPLACE() -函数返回被替换了指定子串的字符串/*select replace(abc123g, 123, def)运行结果如下- -abcdefg*/SPACE() -函数返回一个有指定长度的空白字符串STUFF() -函数用另一子串替换字符串指定位置长度的子串19、数据类型转换函数-CAST() 函数语法如下CAST() ( AS length )CONVERT() 函数语法如下CONVERT() ( length , , style)select cast(100+99 as char) convert(varchar(12), getdate()运行结果如下- -199 Jan 15 200020、日期函数-DAY() -函数返回date_expression 中的日期值MONTH() -函数返回date_expression 中的月份值YEAR() -函数返回date_expression 中的年份值DATEADD( , ,) -函数返回指定日期date 加上指定的额外日期间隔number 产生的新日期DATEDIFF( , ,) -函数返回两个指定日期在datepart 方面的不同之处DATENAME( , ) -函数以字符串的形式返回日期的指定部分DATEPART( , ) -函数以整数值的形式返回日期的指定部分GETDATE() -函数以DATETIME 的缺省格式返回系统当前的日期和时间21、系统函数-APP_NAME() -函数返回当前执行的应用程序的名称COALESCE() -函数返回众多表达式中第一个非NULL 表达式的值COL_LENGTH(, ) -函数返回表中指定字段的长度值COL_NAME(, ) -函数返回表中指定字段的名称即列名DATALENGTH() -函数返回数据表达式的数据的实际长度DB_ID(database_name) -函数返回数据库的编号DB_NAME(database_id) -函数返回数据库的名称HOST_ID() -函数返回服务器端计算机的名称HOST_NAME() -函数返回服务器端计算机的名称IDENTITY(, seed increment) AS column_name)-IDENTITY() 函数只在Select INTO 语句中使用用于插入一个identity column列到新表中/*select identity(int, 1, 1) as column_nameinto newtablefrom oldtable*/ISDATE() -函数判断所给定的表达式是否为合理日期ISNULL(, ) -函数将表达式中的NULL 值用指定值替换ISNUMERIC() -函数判断所给定的表达式是否为合理的数值NEWID() -函数返回一个UNIQUEIDENTIFIER 类型的数值NULLIF(, )-NULLIF 函数在expression1 与expression2 相等时返回NULL 值若不相等时则返回expression1 的值22、数学函数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 dual5.四舍五入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.7182818284590451O:select Exp(1) value from dual 2.718281827.取e为底的对数S:select log(2.7182818284590451) value 1O:select ln(2.7182818284590451) value from dual; 18.取10为底对数S:select log10(10) value 1O:select log(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_random.value(0,1) value from dual;13.取符号S:select sign(-8) value -1O:select sign(-8) value from dual -1-数学函数14.圆周率S:Select PI() value 3.1415926535897931O:不知道15.sin,cos,tan 参数都以弧度为单位例如:select sin(PI()/2) value 得到1(SQLServer)16.Asin,Acos,Atan,Atan2 返回弧度17.弧度角度互换(SQLServer,Oracle不知道)DEGREES:弧度-角度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:select 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) value 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 dual23.模糊子串的位置 -返回2,参数去掉中间%则返回7S:select patindex(%d%q%,sdsfasdqe) valueO:oracle没发现,但是instr可以通过第四霾问 刂瞥鱿执问?BRselect INSTR(sdsfasdqe,sd,1,2) value from dual 返回624.求子串S:select substring(abcd,2,2) valueO:select substr(abcd,2,2) value from dual25.子串代替 返回aijklmnefS:Select STUFF(abcdef, 2, 3, ijklmn) valueO:Select Replace(abcdef, bcd, ijklmn) value from dual26.子串全部替换S:没发现O:select Translate(fasdbfasegas,fa,我 ) value from dual27.长度S:len,datalengthO:length28.大小写转换 lower,upper29.单词首字母大写S:没发现O:select INITCAP(abcd dsaf df) value from dual30.左补空格(LPAD的第一个参数为空格则同space函数)S:select space(10)+abcd valueO:select LPAD(abcd,14) value from dual31.右补空格(RPAD的第一个参数为空格则同space函数)S:select abcd+space(10) valueO:select RPAD(abcd,14) value from dual32.删除空格S:ltrim,rtrimO:ltrim,rtrim,trim33. 重复字符串S:select REPLICATE(abcd,2) valueO:没发现34.发音相似性比较(这两个单词返回值一样,发音相同)S:Select SOUNDEX (Smith), SOUNDEX (Smythe)O:Select SOUNDEX (Smith), SOUNDEX (Smythe) from dualSQLServer中用Select DIFFERENCE(Smithers, Smythers) 比较soundex的差返回0-4,4为同音,1最高23、日期函数35.系统时间S:select getdate() valueO:select sysdate value from dual36.前后几日直接与整数相加减37.求日期S:select convert(char(10),getdate(),20) valueO:select trunc(sysdate) value from dualselect to_char(sysdate,yyyy-mm-dd) value from dual38.求时间S:select convert(char(8),getdate(),108) valueO:select to_char(sysdate,hh24:mm:ss) value from dual39.取日期时间的其他部分S:DATEPART 和 DATENAME 函数 (第一个参数决定)O:to_char函数 第二个参数决定参数-下表需要补充year yy, yyyyquarter qq, q (季度)month mm, m (m O无效)dayofyear dy, y (O表星期)day dd,

温馨提示

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

评论

0/150

提交评论