Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

Basit SQL sorusu


Trans

Öne çıkan mesajlar

şimdi nette sql tutolarına bakıyordum da,karşıma böyle saçma bir soru geldi,basit aslında

ben böyle saçmaladım


SELECT m.title
FROM movie m
INNER JOIN casting c ON
c.movieid=m.id AND
c.actorid IN (SELECT id
FROM actor
WHERE name='Harrison Ford');



bana demişki Harrison Ford un onadığı tüm filmleri getir bakayım,ben üstteki gibi saçma bir biçimde yaptım,içime sinmedi yani.doğrusu nedir bunun?

join konusunu çok fazla kavrayamadım gibi geldiği için böyle tuto bakıyorum artık.

3 tablo var

movie actor casting
id id movieid
title name actorid
yr ord
director
budget
gross

Link to comment
Sosyal ağlarda paylaş

ha anladim, zaten left right ayni query de varsa, inner yazmakda iyidir rahat ayirtetmek icin query okurken, tek inner join varsa normalde anlamli degil.

ama tercihtir her zaman oyle bilmiyosan diye not olarak soyledim.

inner join le equality, yani benim yaptigim arasinda bi fark yok. Daha az sey yaziyosun, pratiktir. left right joinler de explicitly kullanman gerek.

Genelde querylerinin %90 ininda inner join kullanirsin, ama left right outer vs bunlari ozumsemen gerek tabii..

Bak burada da guzel ornekler vermis gormediysen.

http://en.wikipedia.org/wiki/Join_(SQL)
Link to comment
Sosyal ağlarda paylaş

yepyeni bir soru :D

sorumuz şu:Which were the busiest years for 'John Travolta'. Show the number of movies he made for each year.

normalde query lerin cevaplarını vermiyor,sadece istediği tabloyu cevap olarak veriyor,ya da query leri cevap olarak var da ben bulamamışta olabilirim.

üstteki tarzdaki sorularda bakış açım nasıl olmalı?

bu arada bu soruya şu tarz bir cevap vermiş

cevap


SELECT yr,COUNT(title) FROM
movie JOIN casting ON movie.id=movieid
JOIN actor ON actorid=actor.id
WHERE name='John Travolta'
GROUP BY yr
HAVING COUNT(title)=(SELECT MAX(c) FROM
(SELECT yr,COUNT(title) AS c FROM
movie JOIN casting ON movie.id=movieid
JOIN actor ON actorid=actor.id
WHERE name='John Travolta'
GROUP BY yr) AS t
)



daha basiti var mıdır yoksa böyle anlamak için kıvranıcakmıyım illaki
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...