Yol İşleçleri: -> ->> @>
JSONB belgelerinde ->, ->>, #>> ile gezinin; @> ve jsonb_path_query ailesiyle kapsama denetimi yapın.
Yol İşleçleri: -> ->> @>, CoddyKit'te ücretsiz bir SQL Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, SQL Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. SQL Academy kursu toplamda 4 dersten oluşur.
Üç İşleç Ailesi
JSONB yol işleçleri üç çeşide ayrılır:
->ve->>— anahtara veya dizine göre çıkarma#>ve#>>— yola göre çıkarma@>ve?— içerme / anahtar varlığını sınama
-> JSONB Döndürür
Bir değeri çıkarır ve JSONB olarak korur:
SELECT data->'user_id' FROM events;
-- returns JSONB like 42
SELECT data->0 FROM events;
-- first element of a JSONB array->> Metin Döndürür
Bir değeri TEXT olarak çıkarır; tür dönüştürme için kullanışlıdır:
SELECT data->>'user_id' FROM events;
-- '42' (TEXT)
SELECT (data->>'user_id')::BIGINT FROM events;
-- 42 (BIGINT)#> Yol Çıkarma (JSONB)
Bir anahtar dizisiyle birden çok düzeyde ilerleyiniz:
SELECT data #> '{user, address, city}' FROM events;
-- nested JSONB value#>> Yol Çıkarma (TEXT)
#> ile aynıdır, ancak TEXT döndürür:
SELECT data #>> '{user, address, city}' FROM events;
-- 'Berlin'@> İçerme
"Belge bu alt belgeyi içeriyor mu?" — en kullanışlı filtre:
SELECT * FROM events
WHERE data @> '{"type":"login"}';
-- Works for nested matching too:
WHERE data @> '{"user":{"plan":"pro"}}'? Anahtar Varlığı
Bir anahtarın en üst düzeyde var olup olmadığını sınayınız:
SELECT * FROM events WHERE data ? 'error';
SELECT * FROM events WHERE data ?| ARRAY['a','b']; -- any of these keys
SELECT * FROM events WHERE data ?& ARRAY['a','b']; -- all of these keysJSONB Yol Sorguları (jsonb_path_query)
Modern PostgreSQL, SQL/JSON yol ifadelerini destekler:
SELECT jsonb_path_query(data, '$.user.tags[*]') FROM events;
SELECT jsonb_path_exists(data, '$.user.tags[*] ? (@ == "admin")') FROM events;Dizinlerle Birleştirme
Bir GIN dizini, @> ve ? işleçlerini hızlandırır:
CREATE INDEX events_data_gin ON events USING GIN (data);
-- supports @>, ?, ?|, ?&
CREATE INDEX events_data_path_gin ON events USING GIN (data jsonb_path_ops);
-- smaller, faster — but only supports @>JSONB İçindeki Dizileri Sorgulama
Dizisi bir değer içeren belgeleri bulunuz:
SELECT * FROM events
WHERE data->'tags' @> '["admin"]'::JSONB;
-- Or via path query:
SELECT * FROM events
WHERE jsonb_path_exists(data, '$.tags[*] ? (@ == "admin")');JSONB Güncelleme
Değişiklik yapmak için jsonb_set, || ve - kullanınız:
UPDATE events
SET data = jsonb_set(data, '{user,plan}', '"pro"')
WHERE id = 1;
UPDATE events SET data = data || '{"new_field":true}'::JSONB;
UPDATE events SET data = data - 'old_field';JSONB Toplama
Birden çok satırı tek bir JSONB içinde gruplayınız:
SELECT jsonb_agg(data) FROM events WHERE user_id = 42;
SELECT jsonb_object_agg(name, value) FROM settings;Özet
Yol işleçleri, çıkarma işleminden değiştirmeye kadar her şeyi yapar.
- -> JSONB, ->> TEXT
- #> yol, #>> yol TEXT
- @> içerme (GIN ile dizinlenebilir)
- Güncellemeler için jsonb_set / || / -
Hızlı Kontrol
data->'k' ile data->>'k' arasındaki fark nedir?
Sıkça Sorulan Sorular
“Yol İşleçleri: -> ->> @>” dersi ücretsiz mi?
Evet — “Yol İşleçleri: -> ->> @>” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve SQL Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. SQL Academy kursu toplamda 4 dersten oluşur.
“Yol İşleçleri: -> ->> @>” dersinde ne öğreneceğim?
JSONB belgelerinde ->, ->>, #>> ile gezinin; @> ve jsonb_path_query ailesiyle kapsama denetimi yapın. SQL Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
SQL Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te SQL Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Yol İşleçleri: -> ->> @>” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu SQL Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her SQL Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- JSONB ve JSON: Hangisi Ne Zaman Kullanılmalı
- Yol İşleçleri: -> ->> @>
- JSONB'yi GIN ile INDEX'leme
- Modelleme: JSONB Normalleştirmeyi Ne Zaman Geride Bırakır