OceanBase 簡單查詢

2021-06-28 09:44 更新

簡單查詢指從 OceanBase 一個(gè)或多個(gè)表或視圖中檢索一個(gè)或多個(gè)列數(shù)據(jù)的操作,列的數(shù)量以及它們的數(shù)據(jù)類型和長度由表結(jié)構(gòu)確定。而選擇列表指的是 SELECT 關(guān)鍵字之后和 FROM 子句之前的表達(dá)式列表。

語法

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

表名、字段名和關(guān)鍵字 SELECT、FROM 不區(qū)分大小寫。查詢的最后可以跟上分號(hào)(;),多條 SQL 可以同時(shí)執(zhí)行。您可以使用 SELECT 語句中的 Hint 將指令或提示傳遞給 OceanBase 數(shù)據(jù)庫優(yōu)化器。優(yōu)化器使用 Hint 為語句選擇執(zhí)行計(jì)劃。

示例

創(chuàng)建一張員工表 employee,并向列 employee_id、first_namelast_name、manager_id 和 salary 插入數(shù)據(jù):

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 |
+-------------+------------+-----------+------------+--------+
  • 對(duì)列進(jìn)行數(shù)學(xué)運(yùn)算:

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 |
+-------------+
  • 數(shù)據(jù)去重:

SELECT DISTINCT MANAGER_ID FROM employee;
+------------+
| MANAGER_ID |
+------------+
|          1 |
+------------+
  • CASE WHEN 語句:
SELECT salary, CASE WHEN salary >= 1000 then '高薪' WHEN salary >= 800 THEN '一般' 
ELSE '繼續(xù)努力' END AS typeFROM employee;
+--------+--------+
| SALARY | TYPE   |
+--------+--------+
|   1500 | 高薪   |
|   1000 | 高薪   |
|   1000 | 高薪   |
+--------+--------+
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)