«subquery» etiketlenmiş sorular

Bir "SELECT" ifadesinin daha büyük bir SQL ifadesinin parçası olarak kullanıldığını açıklamak için kullanılan SQL terimi. Daha büyük ifade DML olabilir ve her zaman parantez veya parantez içinde bulunur.

3
Bu sorgu neden çalışıyor?
Oracle 12c'de diyelim ki iki tablo var, table_a (id, name) ve table_b (id). Bu sorgu neden bir istisna döndürmüyor? select * from table_a where name in (select name from table_b); Anladığım kadarıyla, Oracle bunu görüyor select * from table_a where name = name; Ama anlamadığım şey neden?

7
Seçili bir alt sorgudan birden çok sütun alın
SELECT *, p.name AS name, p.image, p.price, ( SELECT ps.price FROM product_special ps WHERE p.id = ps.id AND ps.date < NOW() ORDER BY ps.priority ASC, LIMIT 1 ) AS special_price, ( SELECT ps.date FROM product_special ps WHERE p.id = ps.id AND ps.date < NOW() ORDER BY ps.priority ASC, LIMIT 1 …
24 subquery 


2
Bir alt sorgu aracılığıyla birden çok sütun seçme
Aşağıdaki sorguda alt sorgudan 2 sütun SEÇMEK çalışıyorum, ancak bunu yapamıyorum. Takma ad tablosu oluşturmaya çalıştım, ancak yine de alamadım. SELECT DISTINCT petid, userid, (SELECT MAX(comDate) FROM comments WHERE petid=pet.id) AS lastComDate, (SELECT userid FROM comments WHERE petid=pet.id ORDER BY id DESC LIMIT 1) AS lastPosterID FROM pet LEFT JOIN …

1
Alt sorgu kullanıldığında postgres hatası [GROUP BY yan tümcesinde sütun görünmeli veya toplama işlevinde kullanılmalıdır]
İki masam var employeeve phones. Bir çalışan 0 ila n telefon numarasına sahip olabilir. Çalışan isimlerini telefon numaralarıyla listelemek istiyorum. İyi çalışan aşağıdaki sorguyu kullanıyorum. SELECT empname,array_agg(phonenumber) AS phonenumbers FROM employee LEFT OUTER JOIN phones ON employee.empid = phones.empid GROUP BY employee.empid Çalışan tablosu çok sayıda satır içerebilir. Bir seferde …

3
Alt sorgu ile büyük tabloda yavaş güncelleme
İle SourceTable> sahip 15MM kayıtları ve Bad_Phrase> 3K kayıtları sahip aşağıdaki sorgu SQL Server 2005 SP4 çalıştırmak için neredeyse 10 saat sürer. UPDATE [SourceTable] SET Bad_Count= ( SELECT COUNT(*) FROM Bad_Phrase WHERE [SourceTable].Name like '%'+Bad_Phrase.PHRASE+'%' ) İngilizce, bu sorgu bir alanın substring edilir Bad_Phrase listelenen farklı cümle sayısının sayılması olup …

1
Alt sorgu neden paralelliği kullanıyor ve birleştirme kullanmıyor?
SQL Server, bir alt sorgu kullanan ancak bir birleştirmeyi kullanırken bu sorguyu çalıştırırken neden paralellik kullanıyor? Birleştirme sürümü seri olarak çalışır ve tamamlanması yaklaşık 30 kat daha uzun sürer. Sürüme katıl: ~ 30secs Alt sorgu sürümü: <1second EDIT: Sorgu planının Xml sürümleri: Sürüme KATIL SUBQUERY sürümü

1
Tarih karşılaştırmaları ile düşük performans gösteren alt sorgu
Eşleşen bir alana sahip önceki tüm kayıtların toplam sayısını bulmak için bir alt sorgu kullanırken, performans 50 bin kadar az kayıt içeren bir tabloda korkunçtur. Alt sorgu olmadan, sorgu birkaç milisaniye içinde yürütülür. Alt sorgu ile yürütme süresi bir dakikadır. Bu sorgu için sonuç: Yalnızca belirli bir tarih aralığındaki kayıtları …

2
Bir alt sorgu kullanarak SQL Silme
Aşağıdaki kod, geliştiricilerimizden biri tarafından yinelenen kayıtları tablodan silmek için eklendi: DELETE SubQuery FROM ( SELECT ID ,FK1 ,FK2 ,CreatedDateTime ,ROW_NUMBER() OVER(PARTITION BY FK1, FK2 ORDER BY CreatedDateTime) AS RowNumber FROM Table ) AS SubQuery WHERE RowNumber > 1 Kodu incelerken, işe yaramayacağını varsaydım, ancak test ortamımızda (SQL 2014) test …

1
SQL Server sorgum UPDATE'te neden SELECT'ten farklı davranıyor?
Bir alan üzerinde bölümleme sonra sıralı bir numara için kayıtları güncelleştiren bir SQL Server sorgusu yazdım. Bir SELECT deyimi olarak çalıştırdığımda, her şey harika görünüyor: DECLARE @RunDetailID INT = 448 DECLARE @JobDetailID INT SELECT @JobDetailID = [JobDetailID] FROM [RunDetails] WHERE [RunDetailID] = @RunDetailID SELECT [OrderedRecords].[NewSeq9], RIGHT([OrderedRecords].[NewSeq9], 4) FROM ( SELECT …

3
SQLITE: Etiket ve ürün sorunu
Aşağıdakileri yapmak için bir sorgu oluşturmak için bir yol arıyorum: 3 tabloyu ele alalım: ürünler: Ürün listesi etiketler: etiket listesi tag_ties: bir etiketi bir ürünle ilişkilendirmek için kullanılan tablo Her tablo için bu yapıyı ele alalım: Ürün:% s: id (int, otomatik görüntüleme) name (varchar, ürünün adı) Etiketler: id (int otomatik …
10 query  sqlite  subquery 

3
Alt sorgu eklendiğinde PostgreSQL sorgusu çok yavaş
1.5M satır içeren bir tabloda nispeten basit bir sorgu var: SELECT mtid FROM publication WHERE mtid IN (9762715) OR last_modifier=21321 LIMIT 5000; EXPLAIN ANALYZE çıktı: Limit (cost=8.84..12.86 rows=1 width=8) (actual time=0.985..0.986 rows=1 loops=1) -> Bitmap Heap Scan on publication (cost=8.84..12.86 rows=1 width=8) (actual time=0.984..0.985 rows=1 loops=1) Recheck Cond: ((mtid = …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.