0% found this document useful (0 votes)
4 views6 pages

Ilk Hafta: 'Spring' 'Fall' 'Anderson'

Uploaded by

pssvjhcr5s
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views6 pages

Ilk Hafta: 'Spring' 'Fall' 'Anderson'

Uploaded by

pssvjhcr5s
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

ilk hafta

Create database OgrenciIsleri;


Create table student
(
Name varchar(10),
StudentNumber int,
Class char(1),
Majör varchar(10),
Primary key(StudentNumber)
);

[Link]
--alter table student add adres varchar(50);
--alter table student drop column adres;
--alter table student alter column name varchar(20);
--alter table student add primary key (StudentNumber);
--insert into student (Name,StudentNumber,class,major) values('ali',15,1,'CS');
--insert into student
--values('ayşe',16,1,'CS');
--insert into student (StudentNumber,major)values(1,'CS');
--insert into student (StudentNumber)values(3),(2),(5);
--insert into student(StudentNumber,major)values(23,'CS'),(22,'CS'),(80,'CS');
--delete from student where StudentNumber=25;
--sadece 25 nolu öğrenci siler

--update student set major='CS'where StudentNumber=8;


--select Name,StudentNumber,class,major from student;
--select *from student;
--select Name,StudentNumber from student;
--select * from student where StudentNumber=8;
--select Name,StudentNumber from student where StudentNumber=8;
--select Course_Number from course where Department='CS' and
Course_Name='Database';
--select Course_Number from course where Department='CS' or Course_Name='Discrete
Mathematics';
--select Course_Number,Semester from SECTION where Year='07' or
Instructor='Knuth';--07 yılında açılan veya knuth tarafından verilen derslerin
ders kodlarını ve sömestr bilgisini listeleyiniz.
[Link]
--select * from student ;
--select * from SECTION where Course_Number = 'MATH2410' ;
select Course_Number from SECTION where Section_identifier=112 or Semester
='Spring';
--Fall dönemimde anderson tarafından verilen derslerin kodları
select Course_Number from SECTION where Semester='Fall' and Instructor='Anderson';
--karşılaştırma operatörleri < > <= >= <> =
--Section operatörleri 112 den küçük olan kayıtları listeleyiniz
select * from SECTION where Section_identifier<120;
--betweeen select * from tablo where sutunad between a and y;120 ve 100 arasını
yapalım örnek olarak
select * from SECTION where Section_identifier between 100 and 120;
select * from SECTION where Section_identifier>=100 and Section_identifier<=120;
--order by verileri sıralar
--select ... from ... where ... order by sutun ad ASC(küçükten büyüğe) DESC
(büyükten küçüğe)
--section tablo verileri sevtion identifier değerine göre büyükten küçüğe
sıralayınız.
select * from SECTION order by Section_identifier DESC ;
select * from SECTION order by Course_Number DESC ;
--fall döneminde okutulanları sectionidentifiere göre sıralayınız büyükten küçüğe.
select * from SECTION where Semester='Fall' order by Section_identifier DESC ;
--Count(* yada sutun adı)
--section tablosundaki kayıt sayısı nedi
select count(*)from SECTION;--6 kayıt var 1 satırda 1 tane dolu gerisi null olsa
bile yinede sayar.
select count(Course_Number)from SECTION;--course numbaerı Null olanı saymadı 5
döndürdü
select count(*) as Sayac from SECTION;--Sayaç isminde görüyoruz
select count(*) as 'Sayac' from SECTION;
select count(*) as [Sayac] from SECTION;
--Group by verileri gruplandırı[Link] dersten kaç tane verildiğini görelim.
--select ... from ... where ... group by ... order by ...;
select Course_Number,count(Course_Number) as 'DersSayısı' from SECTION group by
Course_Number;
--IN komutu select * from section;
select * from SECTION where Instructor in ('King','Knuth'); --içinde king ve
knuth olanları gösterir
select * from SECTION where Instructor not in ('King','Knuth'); -- olmayanları
gösterir.
--section identifier değeri 112 92 135 olan kayıtların semester ve ders kodunu
listeleyiniz.
select Semester,Course_Number from SECTION where Section_identifier
in(112,95,135);
-- Data Structures dersinin okutulduğu dönem ve hoca bilgisini listeleyiniz.
--courdse tablosuna geldik kurs adı Data structure olanın course numarasını aldı
sonra section tablosunda bu kurs numarası şartlarını sağlayan semester ve
ınstructoru döndürdü.
select Semester,Instructor from SECTION where Course_Number in (select
Course_Number from Course where Course_Name='Data Structure');
--1 Name alanı Smith olan öğrencilerin tüm bilgilerini Student tablosundan
listeleyiniz.
select * from student where Name='Smith';
--2 Course tablosundaki bütün değerleri listeleyiniz.
select * from Course;
--3 Section tablosunda Year alanı 07 olan veya Semester alanı Fall olan kayıtları
listeleyiniz.
select * from SECTION where YEAR=07 or Semester='Fall';
--4 Grade_Report tablosundan Grade alanı A olan kayıtları listeleyiniz.
select * from Grade_Report where Grade='A';
--5 Grade_Report tablosunda 85 Section_Identifier ve Grade değeri A olan
öğrencinin adını listeleyiniz.(Dikkat! adını STUDENT tablosundan bulacaksınız).
select Name from student where StudentNumber in (select Student_number from
Grade_Report where Section_identifier=85 and Grade='A');
[Link]
--superssn alanı null olan kayıtları döndüren sql cümlesi?
select * from employee where superssn is null;
select * from employee where superssn is not null; --Null olmayanları gösterir.
select top 3 * from employee; --baştan 3 taneyi gösterir
select top 3 fname,minit from employee;
--select top ? Percent ... --yüzde kaçını göstereceğimizi belirtiyoruz.
select top 50 percent * from employee;
--Örnek maaşı 25000'den büyük olan personelin %50'sini gösteriniz
select top 50 percent * from employee where salary>40000;
-- örnek maaşı 10000 ile 40000 arasında olacak personelini %25inin sadece adını
ve soyadını
select top 25 percent fname,lname from employee where salary >10000 and
salary<40000;
--****SQL LIKE komutları****
-- % Hiç veya daha çok karakter
-- _(AltÇizgi)bir karakter
-- [] Köşeli parantez içindeki her bir karakter
-- h[ea]p hep ve hap
-- ^Köşeli parantez içince olmayan karakterleri
-- h[^oa]t
-- -(tire) belirtilen aralıktaki her bir karakter
-- m[a-e]n
-- where ad='Ali'; where ad like '';

--Örnek adı j ile başlayan personeli listele;


select * from employee where fname like 'j%';
--Örnek adı y ile biten
select * from employee where fname like '%y';
--içerisinde o harfi geçen başında ve sonunda o olmayan personelleri listele.
select * from employee where fname like '[^o]%o%[^o]';
--adının ikinci karakteri h olan personeli listeleyiniz.
select * from employee where fname like '_h%';
--b ile başlamasın t ile bitmesin
select * from employee where fname not like 'b%t';
--j ile başlamayacak ve o ile bitmeyecek isimleri getirsin.
select * from employee where fname not like 'j%'and fname not like'%b';
-- Matematiksel operatörler Matematiksel Fonksiyonlar
-- +
Count (*) MIN()
-- -
SUM() toplama MAX()
-- /
AVG() ortalama ABS() Mutlak değer
-- *
--Örnek Maaşın kendisi ve %70 zamlı halini döndürün maaş ve 70zamlı olacak tablo
isminde.büyükten küçüğe
select salary as Maas ,salary*1.7 as '70Zamlı' from employee order by salary DESC;
--Örnek Maaşın kendisi ve %70 zamlı halini döndürün maaş ve 70zamlı olacak tablo
isminde maaşlar 10000 ve 40000 arasında olacak.
select salary as Maas ,salary*1.7 as '70Zamlı' from employee where salary between
10000 and 40000;
--Örnek tüm personellerin maaşları toplamı.
select SUM(salary) from employee;
--Örnek Departman numaralarına göre personellerin maaşları toplamı.
select dno as 'dno' , SUm(salary) as MaaşlarınToplamı from employee group by dno;
--Örnek tüm personelin maaşlarının ortalaması nedir.
select AVG(salary) from employee;
--Örnek en büyük maaş ile en küçük maaş arasındaki fark nedir.
select MAX(salary)-MIN(salary) as MaaşFarkı from employee;
--Örnek en küçükten en büyüğü çıkart mutlağını al.
select ABS(MIN(salary)-MAX(salary)) as MaaşFarkı from employee;

[Link]
-- join İşlemleri
--***Inner join***==tablolarının kesişiminde olanları alır 2 tablonun kesişimi 3
tablonun kesişimi
--employeedeki dno FK ile departmendeki dnumber PK aynı
--SORU 6 numaralı departmanda çalışan personel bilgilerini listeleyiniz
select * from employee where dno=6;
--SORU software(dname) departmanında çalışanların fname,lname,dno bilgilerini
gösteriniz.
--department ta Software dnumber ile ilişkili dnumber ise employeedeki dno ile
ilişkili bunları birbirine bağladık.
select fname,lname,dno from employee,department where dno=dnumber and
dname='Software';
--***Left join***==
--select sutunlar from tablo 1 inner join tablo 2 on tablo1= tablo2 inner join ...
on ... where...;
select fname,lname,dno from employee inner join department on dno=dnumber where
dname='Software';
--SORU ProductX isimli projenin ait olduğu departmanın adını gösteren SQL
cümlesi???
select dname from project,department where dnum=dnumber and pname='ProductX';
select dname from project inner join department on dnum=dnumber where
pname='ProductX';
--SORU ProductX isimli projenin ait olduğu departmanın adını ve bu projede çalışan
personelin ad soyadını listeleyen SQL;
select dname,fname,lname from project,department,employee where dnum=dnumber and
dnum=dno and pname='ProductX';
select dname,fname,lname from project inner join department on dnum=dnumber inner
join employee on dno=dnumber where pname='ProductX';
select dname,fname,lname from employee,department,works_on,project where
dnum=dnumber and pnumber=pno and essn=ssn and pname='ProductX';
--***Right join***==
--Self join

[Link]
-- join İşlemleri
--***Inner join***==tablolarının kesişiminde olanları alır 2 tablonun kesişimi 3
tablonun kesişimi
--employeedeki dno FK ile departmendeki dnumber PK aynı
--SORU 6 numaralı departmanda çalışan personel bilgilerini listeleyiniz
select * from employee where dno=6;
--SORU software(dname) departmanında çalışanların fname,lname,dno bilgilerini
gösteriniz.
--department ta Software dnumber ile ilişkili dnumber ise employeedeki dno ile
ilişkili bunları birbirine bağladık.
select fname,lname,dno from employee,department where dno=dnumber and
dname='Software';
--select sutunlar from tablo 1 inner join tablo 2 on tablo1= tablo2 inner join ...
on ... where...;
select fname,lname,dno from employee inner join department on dno=dnumber where
dname='Software';
--SORU ProductX isimli projenin ait olduğu departmanın adını gösteren SQL
cümlesi???
select dname from project,department where dnum=dnumber and pname='ProductX';
select dname from project inner join department on dnum=dnumber where
pname='ProductX';
--SORU ProductX isimli projenin ait olduğu departmanın adını ve bu projede çalışan
personelin ad soyadını listeleyen SQL;
select dname,fname,lname from project,department,employee where dnum=dnumber and
dnum=dno and pname='ProductX';
select dname,fname,lname from project inner join department on dnum=dnumber inner
join employee on dno=dnumber where pname='ProductX';
select dname,fname,lname from employee,department,works_on,project where
dnum=dnumber and pnumber=pno and essn=ssn and pname='ProductX';
--SORU Milwaukee'de çalışan personelin adı ve oğlunun adı
select fname,dependent_name from employee,dependent,dept_locations where
dnumber=dno and ssn=essn and relationship='Son'and dlocation='Milwaukee';
--***Left join***==
--select ... from tablo1 left join tablo 2 on bağlantı,sutunlar where ...;

--***Right join***==2 tablomuz var tablo 2nin tamamı gelecek


--select ... from tablo2 left join tablo1 on bağlantı,sutunlar where ...;
--***Self join***== kendi kendisini gösteren tablo inner join gibi görecez.
--Personel ve yöneticisinin ad ve soyadını istiyorum
--employe tablosu artık bi ri calısan biri yonetici
select [Link],[Link],[Link],[Link] from employee
yonetici,employee calisan where [Link]=[Link];
--***Full join*** bütün tablodaki [Link]ı veriler dönebilir.
--select sutunlar from tablo1 full join tablo2 on ... where ...;
--SORU Franklin Wong'un yöneticisinin adı ve personelin çalıştığı departmanın
adını listeleyiniz.
select [Link] as'yoneticiadi',dname as 'departmanadi' from
department,employee yonetici ,employee calisan where [Link]=[Link]
and [Link]=dnumber and [Link]='Franklin' and [Link]='Wong';

SELECT
[Link] as yoneticiadi,
[Link] AS departmanadi
FROM
employee calisan
inner JOIN
employee yonetici ON [Link] = [Link]
inner JOIN
department ON [Link] = [Link]
WHERE
[Link] = 'Franklin' AND
[Link] = 'Wong';

You might also like