Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Neo4j - Memilih data dengan MATCH menggunakan Cypher

MATCH Cy Cypher pernyataan memungkinkan Anda untuk menemukan data yang cocok dengan kriteria yang diberikan. Anda dapat menggunakan MATCH untuk mengembalikan data atau untuk melakukan beberapa operasi lain di atasnya.

MATCH pernyataan digunakan untuk mencocokkan kriteria yang diberikan, tetapi sebenarnya tidak mengembalikan data. Untuk mengembalikan data apa pun dari MATCH pernyataan, kita masih perlu menggunakan RETURN klausa.

Ambil Node

Berikut adalah contoh sederhana menggunakan MATCH pernyataan untuk mengambil simpul:

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

WHERE klausa bekerja dengan cara yang sama seperti SQL WHERE klausa, yang memungkinkan Anda untuk mempersempit hasil dengan memberikan kriteria tambahan.

Namun, Anda dapat mencapai hasil yang sama tanpa menggunakan WHERE ayat. Anda juga dapat mencari node dengan memberikan notasi yang sama dengan yang Anda gunakan untuk membuat node.

Kode berikut memberikan hasil yang sama dengan pernyataan di atas:

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

Menjalankan salah satu dari kueri di atas akan menghasilkan simpul berikut yang ditampilkan:

Anda mungkin telah memperhatikan bahwa mengeklik sebuah simpul akan memperluas lingkaran luar yang dipisahkan menjadi tiga bagian — masing-masing mewakili opsi yang berbeda:

Mengklik bagian bawah akan memperluas hubungan simpul:

Hubungan

Anda juga dapat melintasi hubungan dengan MATCH penyataan. Faktanya, ini adalah salah satu keunggulan Neo4j.

Misalnya, jika kita ingin mengetahui artis mana yang merilis album berjudul Berat sebagai Benda yang Sangat Berat , kita dapat menggunakan kueri berikut:

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

Ini akan mengembalikan simpul berikut:

Anda dapat melihat bahwa pola yang kami gunakan di MATCH pernyataan hampir cukup jelas. Ini cocok dengan semua artis yang merilis album dengan nama Berat sebagai Hal yang Sangat Berat .

Kami menggunakan variabel (yaitu a dan b ) sehingga kami dapat merujuknya nanti dalam kueri. Kami tidak memberikan variabel apa pun untuk hubungan tersebut, karena kami tidak perlu merujuk ke hubungan nanti dalam kueri.

Anda mungkin juga memperhatikan bahwa baris pertama menggunakan pola yang sama yang kita gunakan untuk membuat hubungan di tempat pertama. Ini menyoroti kesederhanaan bahasa Cypher. Kita dapat menggunakan pola yang sama dalam konteks yang berbeda (yaitu untuk membuat data dan mengambil data).

Kembalikan semua Node

Anda dapat mengembalikan semua node dalam database hanya dengan menghilangkan detail pemfilteran apa pun. Oleh karena itu, kueri berikut akan mengembalikan semua node dalam database:

MATCH (n) RETURN n

Ini menghasilkan semua node kami dikembalikan:

Anda juga dapat mengklik Baris ikon di samping untuk menampilkan data dalam format baris:

Hati-hati saat mengembalikan semua node. Melakukan ini pada database besar dapat memiliki implikasi kinerja yang besar. Biasanya disarankan untuk membatasi hasil untuk menghindari masalah yang tidak diinginkan.

Lihat "Membatasi Hasil" di bawah.

Batasi Hasil

Gunakan LIMIT untuk membatasi jumlah record dalam output. Sebaiknya gunakan ini saat Anda tidak yakin seberapa besar hasil yang akan dihasilkan.

Jadi kita cukup menambahkan LIMIT 5 ke pernyataan sebelumnya untuk membatasi output menjadi 5 record:

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. Cara menggunakan GROUP_CONCAT dalam CONCAT di MySQL

  2. Sekilas tentang Fungsi Numerik SQL Server

  3. menampilkan data dari database SQL ke tabel php/html

  4. Bagaimana cara menyimpan array di MySQL?

  5. Bagaimana menangani kesalahan untuk entri duplikat?