数据库基础——第二天(上)

三. DQL查询语句

-- SELECT 语句用来查询表中的数据,
-- 一条SQL语句是由多个子句组成
-- 一个子句有一个关键字加一系列内容组成
-- SELECT语句中必须含有的是两个子句: SELECT子句和FROM子句
-- SELECT子句用于指定要查询的内容(字段,函数,表达式),
-- FROM子句用来指定数据来源的表
DESC emp;
SELECT ename,job,sal,deptno FROM emp WHERE sal > 2500;
-- 字段拼接函数
SELECT CONCAT(CONCAT(ename,':'),sal) FROM emp;
-- 连接字符串常用“||”
SELECT ename || ':' || sal FROM emp;
-- LENGTH函数:字符串的长度
SELECT ename,LENGTH(ename) FROM emp;
-- UPPER,LOWER,INITCAP(只保留首字母大写)
-- 转换大小写
-- dual:伪表,当查询的内容不是任何表中数据时,可以用伪表代替

SELECT 
  UPPER('helloworld'),LOWER('MATHS'),INITCAP('ENGLISH love')
FROM dual;
SELECT ename,sal,deptno FROM emp WHERE ename = UPPER('scott');
-- TRIM(去除字符串两端的指定的单个字符)
-- LTRIM/RTRIM(去除字符串左/右端的在指定字符串中出现的字符直至被打断)。不指定字符(不写)则是去除空格

SELECT TRIM('e' FROM 'eeeLskee') FROM dual;
SELECT LTRIM('reddeseeetrsfeLskee','etrsfd') FROM dual;
-- 补位函数:LPAD,RPAD(origiChar,len,padChar)
-- 字符串补足到len长度
-- 如果位数len不足原始字段origiChar长度,则一律从右侧开始截取
-- 作用:指定字符填补空位,空字符' '(引号间空格),产生左对齐或右对齐

SELECT ename,LPAD(sal,6,' ') FROM emp;
-- SUBSTR(str,startIndex,len)
-- 截取str字符串从startIndex处开始连续截取len个字符
-- 省略截取数量或者截取数量超过实际内容都是截取到末尾
-- 若startIndex为负数则从字符串末尾开始数(倒数正取)
-- 数据库中下标是从1开始的

SELECT SUBSTR('thinking in java', -10, 2) FROM dual;
-- INSTR:查看字符串的位置
-- INSTR(str1,str2 [,m[,n]])
-- 查找str2在str1中的位置。m,n是可选项,分别表示:
--    m——从第几个字符开始查找
--    n——第几次出现的位置
SELECT 
  INSTR('thinking in java','in'),
  INSTR('thinking in java','in',4),
  INSTR('thinking in java','in',4,2)
FROM dual;
-- 数字函数
-- ROUND(m,n):四舍五入
-- 保留m到小数点后n为
-- n为0或不指定则是保留到整数
-- n为负数则是保留到小数点的前n位
SELECT
  ROUND(45.678,2),ROUND(45.678,0),ROUND(55.678,-2)
FROM dual;


-- TRUNC(m,n):截取数字(即不进行四舍五入)
-- 参数作用与ROUND一致
-- MOD(m,n):求余
SELECT ename,sal,MOD(sal,1000) FROM emp;
-- CEIL(n),FLOOR(n):上取整和下取整
SELECT CEIL(45.78),FLOOR(45.78) FROM dual;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值