Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Neo4j - Wybieranie danych za pomocą MATCH za pomocą Cypher

MATCH Cyphera zestawienie pozwala na znalezienie danych spełniających zadane kryteria. Możesz użyć MATCH aby zwrócić dane lub wykonać na nich inną operację.

MATCH Instrukcja jest używana do spełnienia określonych kryteriów, ale w rzeczywistości nie zwraca dane. Aby zwrócić dowolne dane z MATCH oświadczenie, nadal musimy użyć RETURN klauzula.

Pobierz węzeł

Oto prosty przykład użycia MATCH instrukcja do pobrania węzła:

MATCH (p:Person)
WHERE p.Name = "Devin Townsend"
RETURN p

WHERE Klauzula działa tak samo jak WHERE w SQL klauzuli, ponieważ pozwala zawęzić wyniki poprzez podanie dodatkowych kryteriów.

Możesz jednak osiągnąć ten sam wynik bez użycia WHERE klauzula. Możesz również wyszukać węzeł, podając tę ​​samą notację, której użyłeś do utworzenia węzła.

Poniższy kod daje te same wyniki, co powyższa instrukcja:

MATCH (p:Person {Name: "Devin Townsend"})
RETURN p

Uruchomienie jednego z powyższych zapytań spowoduje wyświetlenie następującego węzła:

Być może zauważyłeś, że kliknięcie węzła rozszerza zewnętrzny okrąg podzielony na trzy sekcje — każda reprezentuje inną opcję:

Kliknięcie dolnej sekcji spowoduje rozwinięcie relacji węzła:

Relacje

Możesz także przemierzać relacje za pomocą MATCH oświadczenie. W rzeczywistości jest to jedna z rzeczy, w których Neo4j jest naprawdę dobry.

Na przykład, gdybyśmy chcieli dowiedzieć się, który artysta wydał album zatytułowany Heavy as a Really Heavy Thing , możemy użyć następującego zapytania:

MATCH (a:Artist)-[:RELEASED]->(b:Album)
WHERE b.Name = "Heavy as a Really Heavy Thing" 
RETURN a

Spowoduje to zwrócenie następującego węzła:

Widać, że wzorzec, którego używamy w MATCH stwierdzenie jest prawie oczywiste. Pasuje do wszystkich wykonawców, którzy wydali album o nazwie Heavy as a Really Heavy Thing .

Używamy zmiennych (np. a i b ), abyśmy mogli odnieść się do nich w dalszej części zapytania. Nie podaliśmy żadnych zmiennych dla relacji, ponieważ nie musieliśmy odwoływać się do relacji w dalszej części zapytania.

Możesz również zauważyć, że pierwsza linia używa tego samego wzorca, którego użyliśmy do stworzenia relacji w pierwszej kolejności. Podkreśla to prostotę języka Cypher. Możemy używać tych samych wzorców w różnych kontekstach (tj. do tworzenia danych i pobierania danych).

Zwróć wszystkie węzły

Możesz zwrócić wszystkie węzły w bazie danych, po prostu pomijając wszelkie szczegóły filtrowania. Dlatego następujące zapytanie zwróci wszystkie węzły w bazie danych:

MATCH (n) RETURN n

Powoduje to zwrócenie wszystkich naszych węzłów:

Możesz także kliknąć Wiersze ikona z boku, aby wyświetlić dane w formacie wiersza:

Zachowaj ostrożność podczas zwracania wszystkich węzłów. Wykonanie tego na dużej bazie danych może mieć poważne konsekwencje dla wydajności. Ogólnie zaleca się ograniczenie wyników, aby uniknąć niezamierzonych problemów.

Zobacz „Ogranicz wyniki” poniżej.

Ogranicz wyniki

Użyj LIMIT aby ograniczyć liczbę rekordów w danych wyjściowych. Dobrym pomysłem jest użycie tego, gdy nie masz pewności, jak duży będzie zestaw wyników.

Możemy więc po prostu dopisać LIMIT 5 do poprzedniej instrukcji, aby ograniczyć wyjście do 5 rekordów:

MATCH (n) RETURN n 
LIMIT 5

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak podzielić ciąg w MySQL

  2. Wybierz TOP X (lub dolny) procent dla wartości liczbowych w MySQL

  3. Jak wykonać procedurę składowaną w środowisku roboczym MySQL?

  4. Wydajność MYSQL OR vs IN

  5. Wprowadzenie do przełączania awaryjnego dla replikacji MySQL — blog 101