包子的 oracle 学习笔记---SQL学习

ORACLE学习

目录

  • ORACLE学习
    • 目录
    • SQL学习
      • wmsys wm_concat
      • WITH 名字 AS

SQL学习


wmsys wm_concat

将一列数据转换为一条数据.

SELECT name,WMSYS.WM_CONCAT(num) FROM TABLE WHERE A = '' GROUP BY A

使用前

name num
张三 1234
张三 5678
张三 12345678
李四 1234

使用后效果

name num
张三 1234,5678,12345678
李四 1234

如果使用后中文出现乱码问题.可以使用 TO_CAHR()套在中文字段上.


WITH 名字 AS

很好用有时会用到.这个方法会将查询出来的数据放到内存中使用.
语法如下

WITH 
A AS (SELECT * FROM 表),
B AS (SELECT * FROM 表),
C AS ....可以有很多
D AS (SELECT * FROM 表)
SELECT * FROM A LIFT JOIN B ON A.1 = B.1;
--最终查询结果为最后一句查询语句所显示的

例举.

表A

name num
张三 10
小明 200

表B

name num
张三 5
小明 10

SQL语句

WITH A AS
 (SELECT A.NAME, A.NUM FROM A),
B AS
 (SELECT B.NAME, B.NUM FROM B)
SELECT A.NUM / B.NUM AS '倍数', A.NAME as '名字' FROM A LEFT JOIN B ON A.NAME = B.NAME

最后效果

名字 倍数
张三 2
小明 20

需要学习的东西真的还有很多很多啊.T.T

你可能感兴趣的:(学习,oracle)