OrientDB - Wyświetl rekordy

Podobnie jak RDBMS, OrientDB obsługuje różne typy zapytań SQL w celu pobrania rekordów z bazy danych. Podczas pobierania rekordów mamy różne warianty lub opcje zapytań wraz z instrukcją select.

Poniższa instrukcja przedstawia podstawową składnię polecenia 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 ]

Poniżej znajdują się szczegółowe informacje na temat opcji w powyższej składni.

<Projections> - Wskazuje dane, które chcesz wyodrębnić z zapytania jako zestaw rekordów wyników.

FROM- wskazuje obiekt do zapytania. Może to być klasa, klaster, pojedynczy identyfikator rekordu, zestaw identyfikatorów rekordów. Możesz określić wszystkie te obiekty jako docelowe.

WHERE - Określa warunek filtrowania zestawu wyników.

LET - Wskazuje zmienną kontekstową, która jest używana w prognozach, warunkach lub zapytaniach cząstkowych.

GROUP BY - Wskazuje pole do grupowania rekordów.

ORDER BY - Wskazuje pole do uporządkowania rekordu w kolejności.

UNWIND - Wyznacza pole, na którym należy rozwinąć kolekcję rekordów.

SKIP - Określa liczbę rekordów, które chcesz pominąć od początku zestawu wyników.

LIMIT - Wskazuje maksymalną liczbę rekordów w zestawie wyników.

FETCHPLAN - Określa strategię definiującą sposób pobierania wyników.

TIMEOUT - Określa maksymalny czas w milisekundach dla zapytania.

LOCK- Określa strategię blokowania. DEFAULT i RECORD to dostępne strategie blokowania.

PARALLEL - Wykonuje zapytanie względem współbieżnych wątków „x”.

NOCACHE - Określa, czy chcesz używać pamięci podręcznej, czy nie.

Przykład

Rozważmy następującą tabelę klientów utworzoną w poprzednim rozdziale.

Sr.No.NazwaWiek
1Satish25
2Kryszna26
3Kiran29
4Javeed21
5Radża29

Wypróbuj różne zapytania wybierające, aby pobrać rekordy danych z tabeli Klient.

Method 1 - Możesz użyć następującego zapytania, aby wybrać wszystkie rekordy z tabeli Customer.

orientdb {db = demo}> SELECT FROM Customer

Jeśli powyższe zapytanie zostanie wykonane pomyślnie, otrzymasz następujące dane wyjściowe.

----+-----+--------+----+-------+---- 
#   |@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 - Wybierz wszystkie rekordy, których nazwa zaczyna się na literę „k”.

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

LUB możesz użyć następującego zapytania dla powyższego przykładu.

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

Jeśli powyższe zapytanie zostanie wykonane pomyślnie, otrzymasz następujące dane wyjściowe.

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

Method 3 - Wybierz identyfikator, nazwij rekordy z tabeli Klientów z nazwami wielkimi literami.

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

Jeśli powyższe zapytanie zostanie wykonane pomyślnie, otrzymasz następujące dane wyjściowe.

----+--------+----+------- 
#   |@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 - Wybierz wszystkie rekordy z tabeli Klientów, w których wiek mieści się w zakresie od 25 do 29 lat.

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

Jeśli powyższe zapytanie zostanie wykonane pomyślnie, otrzymasz następujące dane wyjściowe.

----+-----+--------+----+-------+---- 
#   |@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 - Wybierz wszystkie rekordy z tabeli Customer, w której dowolne pole zawiera słowo „sh”.

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

Jeśli powyższe zapytanie zostanie wykonane pomyślnie, otrzymasz następujące dane wyjściowe.

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

Method 6 - Wybierz wszystkie rekordy z tabeli Klient, uporządkowane według wieku w porządku malejącym.

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

Jeśli powyższe zapytanie zostanie wykonane pomyślnie, otrzymasz następujące dane wyjściowe.

----+-----+--------+----+-------+---- 
#   |@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 
----+-----+--------+----+-------+----