codecamp

OceanBase 简单查询

简单查询指从 OceanBase 一个或多个表或视图中检索一个或多个列数据的操作,列的数量以及它们的数据类型和长度由表结构确定。而选择列表指的是 SELECT 关键字之后和 FROM 子句之前的表达式列表。

语法

SELECT 列名1,列名2,列名3,… FROM 表;

表名、字段名和关键字 SELECTFROM 不区分大小写。查询的最后可以跟上分号(;),多条 SQL 可以同时执行。您可以使用 SELECT 语句中的 Hint 将指令或提示传递给 OceanBase 数据库优化器。优化器使用 Hint 为语句选择执行计划。

示例

创建一张员工表 employee,并向列 employee_idfirst_namelast_namemanager_id 和 salary 插入数据:

CREATE TABLE employee (
employee_id INT,
first_name VARCHAR(50),
last_name VARCHAR(50),
manager_id INT,
salary NUMERIC
);
INSERT INTO employee VALUES(111, 'DEL', 'FA BEN', 1, 1500);
INSERT INTO employee VALUES(112, 'AXEL', 'BELL', 1, 1000);
INSERT INTO employee VALUES(113, 'CRIS',  'RACHAR', 1, 1000);
简单查询示例
  • 查询部分列:

SELECT first_name, last_name, salary FROM employee;
+------------+-----------+--------+
| FIRST_NAME | LAST_NAME | SALARY |
+------------+-----------+--------+
| DEL        | FA BEN    |   1500 |
| AXEL       | BELL      |   1000 |
| CRIS       | RACHAR    |   1000 |
+------------+-----------+--------+
  • 查询所有列:

SELECT * FROM employee;
+-------------+------------+-----------+------------+--------+
| EMPLOYEE_ID | FIRST_NAME | LAST_NAME | MANAGER_ID | SALARY |
+-------------+------------+-----------+------------+--------+
|         111 | DEL        | FA BEN    |          1 |   1500 |
|         112 | AXEL       | BELL      |          1 |   1000 |
|         113 | CRIS       | RACHAR    |          1 |   1000 |
+-------------+------------+-----------+------------+--------+
  • 对列进行数学运算:

SELECT salary+100 FROM employee;
+------------+
| SALARY+100 |
+------------+
|       1600 |
|       1100 |
|       1100 |
+------------+
  • 给列取别名:

SELECT salary*12 年薪 FROM employee;
+--------+
| 年薪   |
+--------+
|  18000 |
|  12000 |
|  12000 |
+--------+
  • 字符串拼接:

SELECT first_name || '-' || last_name  AS 姓名 FROM employee;
+-------------+
| 姓名        |
+-------------+
| DEL-FA BEN  |
| AXEL-BELL   |
| CRIS-RACHAR |
+-------------+
  • 数据去重:

SELECT DISTINCT MANAGER_ID FROM employee;
+------------+
| MANAGER_ID |
+------------+
|          1 |
+------------+
  • CASE WHEN 语句:
SELECT salary, CASE WHEN salary >= 1000 then '高薪' WHEN salary >= 800 THEN '一般' 
ELSE '继续努力' END AS typeFROM employee;
+--------+--------+
| SALARY | TYPE   |
+--------+--------+
|   1500 | 高薪   |
|   1000 | 高薪   |
|   1000 | 高薪   |
+--------+--------+
OceanBase 查询和子查询概述
OceanBase 层次查询
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

OceanBase 控制台指南

OceanBase ODC 使用指南

OceanBase Web 版 ODC

OceanBase 客户端版 ODC

OceanBase Connector/J 开发者指南

OceanBase 什么是OceanBase Connector/J

OceanBase SQL 参考(MySQL 模式)

OceanBase SQL 参考(Oracle 模式)

OceanBase 基本元素

OceanBase 数据库对象

OceanBase 函数

OceanBase 单行函数

OceanBase 返回数字的字符串函数

OceanBase 通用比较函数

OceanBase 编码解码函数

OceanBase SQL 调优指南

OceanBase 相关协议

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }