DUAL table là gì?

Noun Database
Bảng DUAL

Trong Oracle, câu lệnh SELECT phải có mệnh đề FROM. Tuy nhiên, một số truy vấn (querry) không yêu cầu bất kỳ bảng (table) nào. Ví dụ như:


SELECT
  UPPER('This is a string')
FROM
  what_table;

Trong trường hợp này, bạn có thể nghĩ đến việc tạo một bảng và sử dụng nó trong mệnh đề FROM chỉ vì sử dụng hàm UPPER ().

May mắn thay, Oracle cung cấp cho bạn bảng DUAL (DUAL table), một bảng đặc biệt thuộc về schema của người dùng SYS nhưng nó có thể truy cập được cho tất cả người dùng.

Bảng DUAL (DUAL table) có một cột (column) tên là DUMMY có kiểu dữ liệu là VARCHAR2 () và chứa một hàng (row) có giá trị X.


SELECT * FROM dual;

Bằng cách sử dụng bảng DUAL (DUAL table), bạn có thể thực thi các truy vấn có chứa các hàm không liên quan đến bất kỳ bảng nào như hàm UPPER () như sau:


SELECT
  UPPER('This is a string')
FROM
  dual;

Bên cạnh việc gọi hàm xây dựng sẵn (built-in function), bạn có thể sử dụng các biểu thức (expression) trong mệnh đề SELECT của truy vấn truy cập bảng DUAL (DUAL table):


SELECT
  (10 + 5)/2
FROM
  dual;

Learning English Everyday