OrientDB - Bản ghi hiển thị

Tương tự như RDBMS, OrientDB hỗ trợ các loại truy vấn SQL khác nhau để lấy các bản ghi từ cơ sở dữ liệu. Trong khi truy xuất các bản ghi, chúng tôi có các biến thể hoặc tùy chọn truy vấn khác nhau cùng với câu lệnh select.

Câu lệnh sau đây là cú pháp cơ bản của lệnh SELECT.

SELECT [ <Projections> ] [ FROM <Target> [ LET <Assignment>* ] ] 
   [ WHERE <Condition>* ] 
   [ GROUP BY <Field>* ] 
   [ ORDER BY <Fields>* [ ASC|DESC ] * ] 
   [ UNWIND <Field>* ] 
   [ SKIP <SkipRecords> ] 
   [ LIMIT <MaxRecords> ] 
   [ FETCHPLAN <FetchPlan> ] 
   [ TIMEOUT <Timeout> [ <STRATEGY> ] ]
   [ LOCK default|record ] 
   [ PARALLEL ] 
   [ NOCACHE ]

Sau đây là chi tiết về các tùy chọn trong cú pháp trên.

<Projections> - Cho biết dữ liệu bạn muốn trích xuất từ ​​truy vấn dưới dạng tập hợp các bản ghi kết quả.

FROM- Chỉ ra đối tượng cần truy vấn. Đây có thể là một lớp, cụm, ID bản ghi duy nhất, tập hợp các ID bản ghi. Bạn có thể chỉ định tất cả các đối tượng này làm mục tiêu.

WHERE - Chỉ định điều kiện để lọc tập kết quả.

LET - Cho biết biến ngữ cảnh được sử dụng trong các phép chiếu, điều kiện hoặc truy vấn phụ.

GROUP BY - Chỉ ra trường để nhóm các bản ghi.

ORDER BY - Cho biết người đã nộp để sắp xếp một bản ghi theo thứ tự.

UNWIND - Chỉ định trường để giải nén bộ sưu tập các bản ghi.

SKIP - Xác định số lượng bản ghi bạn muốn bỏ qua từ khi bắt đầu tập kết quả.

LIMIT - Cho biết số lượng bản ghi tối đa trong tập kết quả.

FETCHPLAN - Chỉ định chiến lược xác định cách bạn muốn tìm nạp kết quả.

TIMEOUT - Xác định thời gian tối đa tính bằng mili giây cho truy vấn.

LOCK- Xác định chiến lược khóa. DEFAULT và RECORD là các chiến lược khóa có sẵn.

PARALLEL - Thực hiện truy vấn đối với các luồng đồng thời 'x'.

NOCACHE - Xác định xem bạn có muốn sử dụng bộ nhớ cache hay không.

Thí dụ

Chúng ta hãy xem xét bảng Khách hàng sau đây được tạo trong chương trước.

Sr.No.TênTuổi tác
1Hài lòng25
2Krishna26
3Kiran29
4Javeed21
5Raja29

Hãy thử các truy vấn chọn lọc khác nhau để lấy các bản ghi dữ liệu từ bảng Khách hàng.

Method 1 - Bạn có thể sử dụng truy vấn sau để chọn tất cả các bản ghi từ bảng Khách hàng.

orientdb {db = demo}> SELECT FROM Customer

Nếu truy vấn trên được thực thi thành công, bạn sẽ nhận được kết quả sau.

----+-----+--------+----+-------+---- 
#   |@RID |@CLASS  |id  |name   |age  
----+-----+--------+----+-------+---- 
0   |#11:0|Customer|1   |satish |25   
1   |#11:1|Customer|2   |krishna|26   
2   |#11:2|Customer|3   |kiran  |29 
3   |#11:3|Customer|4   |javeed |21 
4   |#11:4|Customer|5   |raja   |29   
----+-----+--------+----+-------+----

Method 2 - Chọn tất cả các bản ghi có tên bắt đầu bằng chữ cái 'k'.

orientdb {db = demo}> SELECT FROM Customer WHERE name LIKE 'k%'

HOẶC bạn có thể sử dụng truy vấn sau cho ví dụ trên.

orientdb {db = demo}> SELECT FROM Customer WHERE name.left(1) = 'k'

Nếu truy vấn trên được thực thi thành công, bạn sẽ nhận được kết quả sau.

----+-----+--------+----+-------+---- 
#   |@RID |@CLASS  |id  |name   |age  
----+-----+--------+----+-------+---- 
0   |#11:1|Customer|2   |krishna|26   
1   |#11:2|Customer|3   |kiran  |29 
----+-----+--------+----+-------+----

Method 3 - Chọn id, đặt tên các bản ghi từ bảng Khách hàng có tên bằng chữ in hoa.

orientdb {db = demo}> SELECT id, name.toUpperCase() FROM Customer

Nếu truy vấn trên được thực thi thành công, bạn sẽ nhận được kết quả sau.

----+--------+----+------- 
#   |@CLASS  |id  |name     
----+--------+----+------- 
0   |null    |1   |SATISH   
1   |null    |2   |KRISHNA  
2   |null    |3   |KIRAN   
3   |null    |4   |JAVEED  
4   |null    |5   |RAJA      
----+--------+----+-------

Method 4 - Chọn tất cả các bản ghi từ bảng Khách hàng có độ tuổi nằm trong khoảng từ 25 đến 29.

orientdb {db = demo}> SELECT FROM Customer WHERE age in [25,29]

Nếu truy vấn trên được thực thi thành công, bạn sẽ nhận được kết quả sau.

----+-----+--------+----+-------+---- 
#   |@RID |@CLASS  |id  |name   |age  
----+-----+--------+----+-------+---- 
0   |#11:0|Customer|1   |satish |25   
1   |#11:2|Customer|3   |kiran  |29 
2   |#11:4|Customer|5   |raja   |29   
----+-----+--------+----+-------+----

Method 5 - Chọn tất cả các bản ghi từ bảng Khách hàng nơi bất kỳ trường nào có chứa từ 'sh'.

orientdb {db = demo}> SELECT FROM Customer WHERE ANY() LIKE '%sh%'

Nếu truy vấn trên được thực thi thành công, bạn sẽ nhận được kết quả sau.

----+-----+--------+----+-------+---- 
#   |@RID |@CLASS  |id  |name   |age  
----+-----+--------+----+-------+---- 
0   |#11:0|Customer|1   |satish |25   
1   |#11:1|Customer|2   |krishna|26   
----+-----+--------+----+-------+----

Method 6 - Chọn tất cả các bản ghi từ bảng Khách hàng, sắp xếp theo độ tuổi theo thứ tự giảm dần.

orientdb {db = demo}> SELECT FROM Customer ORDER BY age DESC

Nếu truy vấn trên được thực thi thành công, bạn sẽ nhận được kết quả sau.

----+-----+--------+----+-------+---- 
#   |@RID |@CLASS  |id  |name   |age  
----+-----+--------+----+-------+---- 
0   |#11:2|Customer|3   |kiran  |29 
1   |#11:4|Customer|5   |raja   |29   
2   |#11:1|Customer|2   |krishna|26   
3   |#11:0|Customer|1   |satish |25   
4   |#11:3|Customer|4   |javeed |21 
----+-----+--------+----+-------+----