首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL杜撰表应用三例

2012-11-05 
SQL虚拟表应用三例SQL虚拟表应用三例?SQL虚拟表是一种通过SELECT语句查询常量表达式形成的一个结果集,和数

SQL虚拟表应用三例
SQL虚拟表应用三例?SQL虚拟表是一种通过SELECT语句查询常量表达式形成的一个结果集,和数据库的视图、物理表、临时表都差不多。一旦这个虚拟表构造出来,就可以当作实际的表来查询。?环境:Windows XP Professional 简体中文版mysql-5.0.45-win32?应用三例:?1、求数字对会计大写的对应表。SELECT *? FROM (SELECT 0 AS CODE, '零' AS NAME??????? UNION??????? SELECT 1, '壹'??????? UNION??????? SELECT 2, '贰'??????? UNION??????? SELECT 3, '叁'??????? UNION??????? SELECT 4, '肆'??????? UNION??????? SELECT 5, '伍'??????? UNION??????? SELECT 6, '陆'??????? UNION??????? SELECT 7, '柒'??????? UNION??????? SELECT 8, '捌'??????? UNION??????? SELECT 9, '玖'??????? UNION??????? SELECT 10, '拾') AS RMBDX?ORDER BY CODE ASC;?查询结果:CODE??? NAME--------------0?????? 零1?????? 壹2?????? 贰3?????? 叁4?????? 肆5?????? 伍6?????? 陆7?????? 柒8?????? 捌9?????? 玖10????? 拾??2、产生0~999之间的数字。SELECT CAST(CONCAT(CONCAT(N1, N2), N3) AS UNSIGNED INTEGER) AS NUMS? FROM (SELECT '0' AS N1??????? UNION??????? SELECT '1'??????? UNION??????? SELECT '2'??????? UNION??????? SELECT '3'??????? UNION??????? SELECT '4'??????? UNION??????? SELECT '5'??????? UNION??????? SELECT '6'??????? UNION??????? SELECT '7'??????? UNION??????? SELECT '8'??????? UNION??????? SELECT '9') AS NUM1,?????? (SELECT '0' AS N2??????? UNION??????? SELECT '1'??????? UNION??????? SELECT '2'??????? UNION??????? SELECT '3'??????? UNION??????? SELECT '4'??????? UNION??????? SELECT '5'??????? UNION??????? SELECT '6'??????? UNION??????? SELECT '7'??????? UNION??????? SELECT '8'??????? UNION??????? SELECT '9') AS NUM2,?????? (SELECT '0' AS N3??????? UNION??????? SELECT '1'??????? UNION??????? SELECT '2'??????? UNION??????? SELECT '3'??????? UNION??????? SELECT '4'??????? UNION??????? SELECT '5'??????? UNION??????? SELECT '6'??????? UNION??????? SELECT '7'??????? UNION??????? SELECT '8'??????? UNION??????? SELECT '9') AS NUM3?ORDER BY NUMS ASC;?查询结果:NUMS---------01234...998999???3、求0~999之间整数的二次方根(平方根)。?SELECT NUMS AS SQUARE, ROUND(SQRT(NUMS)) AS BASIS? FROM (SELECT CAST(CONCAT(CONCAT(N1, N2), N3) AS UNSIGNED INTEGER) AS NUMS????????? FROM (SELECT '0' AS N1??????????????? UNION??????????????? SELECT '1'??????????????? UNION??????????????? SELECT '2'??????????????? UNION??????????????? SELECT '3'??????????????? UNION??????????????? SELECT '4'??????????????? UNION??????????????? SELECT '5'??????????????? UNION??????????????? SELECT '6'??????????????? UNION??????????????? SELECT '7'??????????????? UNION??????????????? SELECT '8'??????????????? UNION??????????????? SELECT '9') AS NUM1,?????????????? (SELECT '0' AS N2??????????????? UNION??????????????? SELECT '1'??????????????? UNION??????????????? SELECT '2'??????????????? UNION??????????????? SELECT '3'??????????????? UNION??????????????? SELECT '4'??????????????? UNION??????????????? SELECT '5'??????????????? UNION??????????????? SELECT '6'??????????????? UNION??????????????? SELECT '7'??????????????? UNION??????????????? SELECT '8'??????????????? UNION??????????????? SELECT '9') AS NUM2,?????????????? (SELECT '0' AS N3??????????????? UNION??????????????? SELECT '1'??????????????? UNION??????????????? SELECT '2'??????????????? UNION??????????????? SELECT '3'??????????????? UNION??????????????? SELECT '4'??????????????? UNION??????????????? SELECT '5'??????????????? UNION??????????????? SELECT '6'??????????????? UNION??????????????? SELECT '7'??????????????? UNION??????????????? SELECT '8'??????????????? UNION??????????????? SELECT '9') AS NUM3) AS TMP_TAB?WHERE SQRT(NUMS) = ROUND(SQRT(NUMS))?ORDER BY SQUARE ASC;?查询结果:?SQUARE? BASIS------------------0?????? 01?????? 14?????? 29?????? 316????? 425????? 536????? 649????? 764????? 881????? 9100???? 10121???? 11144???? 12169???? 13196???? 14225???? 15256???? 16289???? 17324???? 18361???? 19400???? 20441???? 21484???? 22529???? 23576???? 24625???? 25676???? 26729???? 27784???? 28841???? 29900???? 30961???? 31?---- 《完》。 1 楼 hysoft 2008-04-22   隐!!!!!!!

热点排行