oracle
1. 字符串转换为整数用 to_number() 函数
2. 写sql 多表联合查询 的时候 select * from table1 from left join table2 on table1.1=table2.2 正确的写法
不要写成 select * from table1 from left join (select * from table) table 2 on table1.1=table2.2 错误的写法
3. SQL UNION 操作符
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
4. 视图就相当于一张表可以继续和其他表关联查询 例如 FR_GS_XL 就是一个试图
from FR_GS_XL a left join
(SELECT BUSGROUP.GROUP_NAME , LINE_LINEINFO.LINENAME FROM BUSGROUP LEFT JOIN LINE_LINEINFO ON BUSGROUP.ID
=LINE_LINEINFO.BUS_GROUP) b on a.XLMC=b.LINENAME
5. sql 中 1=1 是为了什么
1=1永真条件,一般用于构造动态SQL语句,"SELECT ... FROM ... WHERE 1=1 "+动态构造条件子句
6. sql 语句 SQL利用Case When Then多条件判断SQL 语句
select ID,Username,namer=( case when(score<= '50' ) then '实习' when(score> '50' and score<= '500' ) then '赤脚医生' when(score> '500' and score<= '1000' ) then '村卫生员' when(score> '1000' and score<= '1500' ) then '乡卫生员' when(score> '1500' and score<= '2000' ) then '镇卫生员' when(score> '2000' and score<= '3000' ) then '医师' when(score> '3000' and score<= '5000' ) then '主治医师' when(score> '5000' and score<= '10000' ) then '副主任医师' when(score> '10000' and score<= '20000' ) then '主任医师' when(score> '20000' and score<= '50000' ) then '健康大使' else '健康大使' end ), (SELECT count(id) FROM jk01_YiWen_Question WHERE UserID = dbo.jk01_Member.ID) as questionnum from jk01_Member |
7. group by
Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理。
在分组的时候要注意 在select指定的字段要么就要包含在Group By语句的后面,作为分组的依据;要么就要被包含在聚合函数中。