Ödev - 1
Ödev - 2
Ödev - 3
Ödev - 4
Ödev - 5
Ödev - 6
Ödev - 7
Ödev - 8
Ödev - 9
Ödev - 10
Ödev - 11
Ödev - 12
SELECT title,description FROM film;
2) film tablosunda bulunan tüm sütunlardaki verileri film uzunluğu (length) 60 dan büyük VE 75 ten küçük olma koşullarıyla sıralayınız.
SELECT * FROM film WHERE length > 60 AND length < 75;
3) film tablosunda bulunan tüm sütunlardaki verileri rental_rate 0.99 VE replacement_cost 12.99 VEYA 28.99 olma koşullarıyla sıralayınız.
SELECT * FROM film WHERE rental_rate = 0.99 AND replacement_cost = 12.99 OR replacement_cost = 28.99;
4) customer tablosunda bulunan first_name sütunundaki değeri 'Mary' olan müşterinin last_name sütunundaki değeri nedir?
SELECT * FROM customer WHERE first_name = 'Mary';
Cevap: "Smith"
5) film tablosundaki uzunluğu(length) 50 ten büyük OLMAYIP aynı zamanda rental_rate değeri 2.99 veya 4.99 OLMAYAN verileri sıralayınız.
SELECT * FROM film WHERE NOT length > 50 AND NOT (rental_rate =2.99 OR rental_rate = 4.99);
1) film tablosunda bulunan tüm sütunlardaki verileri replacement cost değeri 12.99 dan büyük eşit ve 16.99 küçük olma koşuluyla sıralayınız ( BETWEEN - AND yapısını kullanınız.)
SELECT * FROM film WHERE replacement_cost BETWEEN 12.99 AND 16.99;
2) actor tablosunda bulunan first_name ve last_name sütunlardaki verileri first_name 'Penelope' veya 'Nick' veya 'Ed' değerleri olması koşuluyla sıralayınız. ( IN operatörünü kullanınız.)
SELECT first_name,last_name FROM actor WHERE first_name IN('Penelope','Nick','Ed');
3) film tablosunda bulunan tüm sütunlardaki verileri rental_rate 0.99, 2.99, 4.99 VE replacement_cost 12.99, 15.99, 28.99 olma koşullarıyla sıralayınız. (IN operatörünü kullanınız.)
SELECT * FROM film WHERE rental_rate IN(0.99, 2.99, 4.99) AND replacement_cost IN (12.99, 15.99, 28.99);
1) country tablosunda bulunan country sütunundaki ülke isimlerinden 'A' karakteri ile başlayıp 'a' karakteri ile sonlananları sıralayınız.
SELECT * FROM country WHERE country LIKE 'A%a';
2) country tablosunda bulunan country sütunundaki ülke isimlerinden en az 6 karakterden oluşan ve sonu 'n' karakteri ile sonlananları sıralayınız.
SELECT country FROM Country WHERE LENGTH(country) > 6 AND country LIKE '%n';
3) film tablosunda bulunan title sütunundaki film isimlerinden en az 4 adet büyük ya da küçük harf farketmesizin 'T' karakteri içeren film isimlerini sıralayınız.
SELECT title FROM film WHERE title ILIKE '%t%t%t%t%';
4) film tablosunda bulunan tüm sütunlardaki verilerden title 'C' karakteri ile başlayan ve uzunluğu (length) 90 dan büyük olan ve rental_rate 2.99 olan verileri sıralayınız.
SELECT * FROM film WHERE title LIKE 'C%' AND length > 90 AND rental_rate = 2.99;
1) film tablosunda bulunan replacement_cost sütununda bulunan birbirinden farklı değerleri sıralayınız.
SELECT DISTINCT replacement_cost FROM film;
SELECT COUNT(DISTINCT replacement_cost) FROM film;
3) film tablosunda bulunan film isimlerinde (title) kaç tanesini T karakteri ile başlar ve aynı zamanda rating 'G' ye eşittir?
SELECT COUNT(*) FROM film WHERE title LIKE 'T%' AND rating = 'G';
SELECT COUNT(*) FROM country WHERE LENGTH(country) = 5 ;
SELECT COUNT(*) FROM city WHERE city ILIKE '%r';
1) film tablosunda bulunan ve film ismi (title) 'n' karakteri ile biten en uzun (length) 5 filmi sıralayınız.
SELECT title FROM film WHERE title LIKE '%n' ORDER BY LENGTH(title) DESC LIMIT 5;
2) film tablosunda bulunan ve film ismi (title) 'n' karakteri ile biten en kısa (length) ikinci 5 filmi sıralayınız.
SELECT title FROM film WHERE title LIKE '%n' ORDER BY LENGTH(title) DESC OFFSET 5 LIMIT 5;
3) customer tablosunda bulunan last_name sütununa göre azalan yapılan sıralamada store_id 1 olmak koşuluyla ilk 4 veriyi sıralayınız.
SELECT * FROM customer WHERE store_id = 1 ORDER BY last_name DESC LIMIT 4;
SELECT ROUND(AVG(rental_rate),2) FROM film;
SELECT COUNT(*) FROM film WHERE title LIKE 'C%';
3) film tablosunda bulunan filmlerden rental_rate değeri 0.99 a eşit olan en uzun (length) film kaç dakikadır?
SELECT MAX(length) FROM film WHERE rental_rate = 0.99;
4) film tablosunda bulunan filmlerin uzunluğu 150 dakikadan büyük olanlarına ait kaç farklı replacement_cost değeri vardır?
SELECT COUNT( DISTINCT replacement_cost ) FROM film WHERE length > 150;
SELECT rating FROM film GROUP BY rating;
2) film tablosunda bulunan filmleri replacement_cost sütununa göre grupladığımızda film sayısı 50 den fazla olan replacement_cost değerini ve karşılık gelen film sayısını sıralayınız.
SELECT replacement_cost, COUNT(*) FROM film GROUP BY replacement_cost HAVING COUNT(*) > 50;
SELECT store_id, COUNT(*) FROM customer GROUP BY store_id;
4) city tablosunda bulunan şehir verilerini country_id sütununa göre gruplandırdıktan sonra en fazla şehir sayısı barındıra country_id bilgisini ve şehir sayısını paylaşınız.
SELECT country_id,COUNT(*) FROM city GROUP BY country_id ORDER BY COUNT(*) DESC LIMIT 1;
1) test veritabanınızda employee isimli sütun bilgileri id(INTEGER), name VARCHAR(50), birthday DATE, email VARCHAR(100) olan bir tablo oluşturalım.
CREATE TABLE employee
(id SERIAL PRIMARY KEY,
name VARCHAR(50),
email VARCHAR(100)
birtday DATE
);
insert into author (name, email, birtday) values ('Adrien Liepina', 'aliepina0@admin.ch', null);
insert into author (name, email, birtday) values ('Maisie Bonar', 'mbonar1@lycos.com', '1944-01-28');
insert into author (name, email, birtday) values ('Alethea Haddleston', 'ahaddleston2@angelfire.com', null);
insert into author (name, email, birtday) values ('Normie Leonard', 'nleonard3@lulu.com', '1988-11-17');
insert into author (name, email, birtday) values ('Sherman Rickman', 'srickman4@oaic.gov.au', '1977-08-30');
insert into author (name, email, birtday) values ('Kin Okell', 'kokell5@mediafire.com', '1978-08-07');
insert into author (name, email, birtday) values ('Jody Lofty', 'jlofty6@upenn.edu', '1978-06-26');
insert into author (name, email, birtday) values ('June Durkin', 'jdurkin7@hhs.gov', null);
insert into author (name, email, birtday) values ('Dorelia Pleuman', 'dpleuman8@ucoz.ru', '1922-02-04');
insert into author (name, email, birtday) values ('Brendin Deeley', 'bdeeley9@hc360.com', '1978-10-08');
insert into author (name, email, birtday) values ('Dona Birdall', 'dbirdalla@wunderground.com', '1925-03-07');
insert into author (name, email, birtday) values ('Savina Baddam', 'sbaddamb@ezinearticles.com', null);
insert into author (name, email, birtday) values ('Jackelyn McCarly', 'jmccarlyc@pen.io', '1992-10-12');
insert into author (name, email, birtday) values ('Brooks Casarino', null, '1952-11-14');
insert into author (name, email, birtday) values ('Danica Dodds', 'ddoddse@domainmarket.com', '1912-03-22');
insert into author (name, email, birtday) values ('Nanon Lean', 'nleanf@soundcloud.com', '1924-02-23');
insert into author (name, email, birtday) values ('Melonie Riddell', 'mriddellg@globo.com', '1975-12-11');
insert into author (name, email, birtday) values ('Nicoline Copin', 'ncopinh@ocn.ne.jp', '1948-10-18');
insert into author (name, email, birtday) values ('Dana Purton', 'dpurtoni@photobucket.com', '1925-04-25');
insert into author (name, email, birtday) values ('Kayle Grinov', 'kgrinovj@tinyurl.com', '1901-05-01');
insert into author (name, email, birtday) values ('Lisabeth Gristwood', 'lgristwoodk@dot.gov', '1987-09-26');
insert into author (name, email, birtday) values ('Vida Truscott', 'vtruscottl@spotify.com', '1932-07-10');
insert into author (name, email, birtday) values ('Wilma Kleinzweig', 'wkleinzweigm@nps.gov', '1928-01-30');
insert into author (name, email, birtday) values ('Reidar Domesday', 'rdomesdayn@wikia.com', '1919-06-16');
insert into author (name, email, birtday) values ('Elayne Pleven', 'epleveno@google.it', '1948-09-22');
insert into author (name, email, birtday) values ('Clementina Gorling', 'cgorlingp@sciencedirect.com', '1992-04-02');
insert into author (name, email, birtday) values ('Izaak Furst', 'ifurstq@illinois.edu', '1969-11-09');
insert into author (name, email, birtday) values ('Norrie Hathaway', 'nhathawayr@phpbb.com', '1970-03-11');
insert into author (name, email, birtday) values ('Birdie Georgi', 'bgeorgis@themeforest.net', null);
insert into author (name, email, birtday) values ('Lyndell Handrahan', 'lhandrahant@fema.gov', null);
insert into author (name, email, birtday) values ('Harley McDermid', 'hmcdermidu@ucoz.com', '1977-09-03');
insert into author (name, email, birtday) values ('Bryn Sperry', 'bsperryv@clickbank.net', '1956-07-26');
insert into author (name, email, birtday) values ('Celestine Kolushev', 'ckolushevw@statcounter.com', '1970-11-08');
insert into author (name, email, birtday) values ('Viva Morillas', null, '1907-07-28');
insert into author (name, email, birtday) values ('Ruprecht Malser', 'rmalsery@1und1.de', '1965-07-09');
insert into author (name, email, birtday) values ('Cori Redborn', 'credbornz@netscape.com', '1945-10-29');
insert into author (name, email, birtday) values ('Evered Loreit', 'eloreit10@gnu.org', '1920-06-24');
insert into author (name, email, birtday) values ('Roma Pellamont', 'rpellamont11@jimdo.com', '1945-10-03');
insert into author (name, email, birtday) values ('Jordanna Dall', 'jdall12@wikispaces.com', '1978-02-23');
insert into author (name, email, birtday) values ('Carling Meekins', 'cmeekins13@tripadvisor.com', null);
insert into author (name, email, birtday) values ('Dorice Kibbye', 'dkibbye14@biblegateway.com', '1950-09-02');
insert into author (name, email, birtday) values ('Carey Feldhammer', 'cfeldhammer15@dell.com', '1984-05-15');
insert into author (name, email, birtday) values ('Alikee Eagar', 'aeagar16@infoseek.co.jp', '1927-07-20');
insert into author (name, email, birtday) values ('Lothaire Eveleigh', 'leveleigh17@cargocollective.com', '1974-04-21');
insert into author (name, email, birtday) values ('Chrisse Bernette', 'cbernette18@deviantart.com', null);
insert into author (name, email, birtday) values ('Dario Sedgwick', null, '1951-11-08');
insert into author (name, email, birtday) values ('Jaine Caras', 'jcaras1a@chron.com', null);
insert into author (name, email, birtday) values ('Franky Jacobovitz', 'fjacobovitz1b@china.com.cn', '1957-08-26');
insert into author (name, email, birtday) values ('Dal Sidery', 'dsidery1c@comsenz.com', '1907-01-18');
insert into author (name, email, birtday) values ('Caterina Fideler', 'cfideler1d@over-blog.com', '1954-08-24');
UPDATE employee SET name = 'David Beckham' WHERE id = 7;
UPDATE employee SET email = 'david@beckham.com' WHERE name = 'David Beckham';
UPDATE employee SET birtday = '1975-05-02' WHERE id = 7;
UPDATE employee SET name = 'Tom Hardy' WHERE name LIKE 'J%';
UPDATE employee SET email = 'whats@up.com' WHERE id = 15;
DELETE FROM employee WHERE id = 7;
DELETE FROM employee WHERE name = 'Lothaire Eveleigh';
DELETE FROM employee WHERE id > 25;
DELETE FROM employee WHERE email = 'dsidery1c@comsenz.com';
DELETE FROM employee WHERE birtday = '1970-03-11';
1) city tablosu ile country tablosunda bulunan şehir (city) ve ülke (country) isimlerini birlikte görebileceğimiz INNER JOIN sorgusunu yazınız.
SELECT city, country FROM city INNER JOIN country ON country.country_id = city.country_id;
2) customer tablosu ile payment tablosunda bulunan payment_id ile customer tablosundaki first_name ve last_name isimlerini birlikte görebileceğimiz INNER JOIN sorgusunu yazınız.
SELECT payment_id,first_name,last_name FROM payment INNER JOIN customer ON customer.customer_id = payment.customer_id;
3) customer tablosu ile rental tablosunda bulunan rental_id ile customer tablosundaki first_name ve last_name isimlerini birlikte görebileceğimiz INNER JOIN sorgusunu yazınız.
SELECT rental_id,first_name,last_name FROM rental INNER JOIN customer ON customer.customer_id = rental.customer_id;
1) city tablosu ile country tablosunda bulunan şehir (city) ve ülke (country) isimlerini birlikte görebileceğimiz LEFT JOIN sorgusunu yazınız.
SELECT city,country FROM country LEFT JOIN city ON city.country_id = country.country_id;
2) customer tablosu ile payment tablosunda bulunan payment_id ile customer tablosundaki first_name ve last_name isimlerini birlikte görebileceğimiz RIGHT JOIN sorgusunu yazınız.
SELECT payment_id,first_name,last_name FROM customer RIGHT JOIN payment ON customer.customer_id = payment.customer_id;
3) customer tablosu ile rental tablosunda bulunan rental_id ile customer tablosundaki first_name ve last_name isimlerini birlikte görebileceğimiz FULL JOIN sorgusunu yazınız.
SELECT rental_id,first_name,last_name FROM customer FULL JOIN rental ON customer.customer_id = rental.customer_id;
(
SELECT first_name FROM actor
ORDER BY first_name
)
UNION
(
SELECT first_name FROM customer
ORDER BY first_name
);
(
SELECT first_name FROM actor
ORDER BY first_name
)
INTERSECT
(
SELECT first_name FROM customer
ORDER BY first_name
);
3) actor ve customer tablolarında bulunan first_name sütunları için ilk tabloda bulunan ancak ikinci tabloda bulunmayan verileri sıralayalım.
(
SELECT first_name FROM actor
ORDER BY first_name
)
EXCEPT
(
SELECT first_name FROM customer
ORDER BY first_name
);
(
SELECT first_name FROM actor
ORDER BY first_name
)
UNION ALL
(
SELECT first_name FROM customer
ORDER BY first_name
);
(
SELECT first_name FROM actor
ORDER BY first_name
)
INTERSECT ALL
(
SELECT first_name FROM customer
ORDER BY first_name
);
(
SELECT first_name FROM actor
ORDER BY first_name
)
EXCEPT ALL
(
SELECT first_name FROM customer
ORDER BY first_name
);
1) film tablosunda film uzunluğu length sütununda gösterilmektedir. Uzunluğu ortalama film uzunluğundan fazla kaç tane film vardır?
SELECT COUNT(length) FROM film
WHERE length >
(
SELECT AVG(length) FROM film
);
SELECT COUNT(*) FROM film WHERE rental_rate = (SELECT MAX(rental_rate) FROM film);
3) film tablosunda en düşük rental_rate ve en düşün replacement_cost değerlerine sahip filmleri sıralayınız.
SELECT * FROM film
WHERE rental_rate = (SELECT MIN(rental_rate) FROM film) AND replacement_cost = (SELECT MIN(replacement_cost) FROM film);
SELECT payment.customer_id,customer.first_name,customer.last_name, SUM(amount) FROM payment
JOIN customer ON customer.customer_id = payment.customer_id
GROUP BY payment.customer_id,customer.first_name,customer.last_name
ORDER BY SUM(amount) DESC;