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. | Nazwa | Wiek |
---|---|---|
1 | Satish | 25 |
2 | Kryszna | 26 |
3 | Kiran | 29 |
4 | Javeed | 21 |
5 | Radża | 29 |
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
----+-----+--------+----+-------+----