Mysql Veritabanı Komutları

Benzer belgeler
Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language)

MSSQL. 4. Hafta Uygulama - 1 BPR255 Veritabanı CREATE DATABASE OKUL GO USE OKUL GO

Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir?

SQL Komutları (2) Uzm. Murat YAZICI

Veri Tabanı Hafta Dersi

ACCESS PLATFORMUNDA SQL

YAPISAL SORGULAMA DİLİ (SQL)

Veri Tabanı SQL Server ve Management Studio kurulum linkleri:

İNTERNET PROGRAMCILIĞI HAFTA. MYSQL ile VERİTABANI İŞLEMLERİ - 1. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Veritabanı Oluşturma, Silme

Genel Kavramlar. Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar. Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler

SQL'e Giriş 2. CREATE TABLE tabloadı (kolon isimleri ve veri türleri) (BOLUM_NO NUMBER, BOLUM_ADI CHAR(10));

SQL'e Giriş. SELECT Deyimi. SQL Komutları. Yardımcı Deyimler

5 SQL- Yapısal Sorgulama Dili. Veritabanı 1

Oracle da kullanılan veri tipleri:

EBE-368 Veri Tabanı Yönetim Sistemleri SQL

3. Hafta Tablo İşlemleri BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri Kısıtlamalar (Constraints)

3. Hafta Tablo İşlemleri BPR255 Veritabanı Yönetim. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri

SQL Kod ile Tablo Oluşturma

Veri Tabanı Programlamaya Giriş

Aşağıdaki tabloyu inceleyin. Sorgulama işlemlerini bu tabloya göre yapacağız.

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır.

TEMEL SQL SORGU ÖRNEKLERİ. Yukarıdaki sorguyu yazıp çalıştırdığımızda db_market adında bir veritabanı oluşturulur.

T.C GAZİ ÜNİVERSİTESİ BİLİŞİM ENSTİTÜSÜ YÖNETİM BİLİŞİM SİSTEMLERİ ANA BİLİM DALI MS SQL KOMUTLARI VE MS SQL KOMUTLARI İLE İLGİLİ UYGULAMALAR

Data Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon

Veritabanına Giriş. Oğuzhan Ceylan. 19 Eylül 2011

Bilgisayar Uygulamaları. MySql

Veritabanına Uygulanması

VERİTABANI Veritabanı Yönetimi

Veritabanlarına ve SQL'e Giriş. Devrim GÜNDÜZ. Teknoloji Destek Merkezi --

TRIGGER. Trigger lar, tablo üzerinde tanımlanabilen ve bu tablo üzerinde bir işlem gerçekleştiğinde tetiklenen programlama ögeleridir.

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Kaynakça. Murat ELİÇALIŞKAN Webmaster. Düzenleme Burak Kıymaz

Veri Tabanı-I 9.Hafta

EBE-368 Veri Tabanı Yönetim Sistemleri İlişkisel Model (The Relational Model)

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim'

1. Araçların tüm bilgilerini ve bağlı oldukları kiralama noktasının adres ve telefonunu içeren tam listesi:

Fonksiyonlar istenilen deger tipinde dönüs yapabilir. INT, VARCHAR deger döndürebileceğiniz gibi bir tablo da döndürebilirsiniz.

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim'

Bölüm 4: DDL Veri Tanımlama Dili

SQL e GİRİŞ. Çağlar Ülküderner caglar@tubitak.gov.tr

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301)

MİRSİS BİLGİ TEKNOLOJİLERİ LTD. ŞTİ. MİCROSOFT SQL SERVER VERİTABANI VE SORGULARI

SQL e Giriş. Uzm. Murat YAZICI

Veritabanı Nedir? Veritabanı

SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır.

08221 Veri Tabanı II. Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Hafta IV. Öğr. Gör. Murat KEÇECĠOĞLU

VERİ TABANI YÖNETİM SİSTEMLERİ-II

Veri Tabanı II Veri Tipleri. 1. Hafta Dersi

VERİTABANI ve YÖNETİMİ

1 - Adi A Harfi İle Biten Kişilerin Listesi İçin Hangisi Kullanılmalıdır? Select * From Kisiler Where Adi End A Select * From Kisiler Where Adi Like

BMB202. Veritabanı Yönetimi Ders 6. SQL. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

Veritabanı sistemlerinde veri bütünlüğünü sağlayabilmek için CONSTRAINTS olarak adlandırılan bazı zorlayıcı ifadeler kullanılabilir.

Veritabanı. SQL (Structured Query Language)

Güz Yarıyılı MT 487 Bilgisayarda Veri Yapıları Final Çalışma Soruları

2- Total de 8000 byte yer tutup 4000 karakter olarak kullanabildiğimiz tip aşağıdakilerden hangisidir?

DAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım.

İNTERNET TABANLI PROGRAMLAMA- 12.ders

Aşağıdaki şemaya dikkat edin. Sorgulamalarımızı genellikle bu şemaya göre yapacağız.

YAPISAL SORGULAMA DİLİ. BARIŞ ARIBURNU barisariburnu.com

KISITLAMALAR (CONSTRAINT)

«BM364» Veritabanı Uygulamaları

Emrah UYSAL 1

VERİTABANI Veritabanı Sorgulama

SUNGURLU MESLEK YÜKSEKOKULU 5. T-SQL

BÖLÜM -7: TABLOLARI OLUŞTURMA VE YÖNETME

Tablolar Arası İlşikiler ve Alan Özellikleri Siparis.musteri_no musteri.musteri_no Siparis.urun_kodu musteri.urun_kodu

Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir. Çok satır dönerse hata verir.

SORGULAR VE ÇEŞİTLERİ II

MT487_2005guz_final_cevaplar (cevaplar vurgulu ve koyu yazılmıştır)

20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi

VERİTABANI. SQL (Structured Query Language)

MySQL, PostgreSQL, Oracle, Sybase, MsSQL, Berkeley, Firebird, Ms access

15 Aralık 2011 / Perşembe.

T.C. MİLLİ EĞİTİM BAKANLIĞI MEGEP (MESLEKÎ EĞİTİM VE ÖĞRETİM SİSTEMİNİN GÜÇLENDİRİLMESİ PROJESİ) BİLİŞİM TEKNOLOJİLERİ INTERNET PROGRAMCILIĞI - 5

Kişiler tablosundan AD kolonu yusuf olan tüm satırları siler. ORDER BY deyimi bir tablodan SELECT ile seçilen verileri sıralamak için kullanılır.

SORGULAR. Öğr.Gör.Volkan Altıntaş

Kullanıcı tanımlı fonksiyonlar SQL2000 ile gelen özelliklerden biridir. Fonksiyonlar tek bir değer veya tablo döndürmek için kullanılır.

SQL (Structured Query Language) kendisi bir programlama dili olmamasına rağmen bir çok kişi tarafından programlama dili olarak bilinir.

Veri Tabanı Tasarım ve Yönetimi

Durhan GABRALI Veritabanı Organizasyonu Dersi (11B)

- Tablo (Table):Veri saklama için temel yapıdır. Bir veya daha fazla sütundan ve sıfir veya daha fazla satırdan oluşur.

SAKLI YORDAM (Stored Procedure) Sibel Somyürek

Veritabanı ve Yönetim Sistemleri

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

3 Sql Veri Tipleri ve Örnek Veritabanı Tasarımı. Veritabanı 1

«BM364» Veritabanı Uygulamaları

KULLANICI TANIMLI FONKSİYONLAR

EROL AKGÜL

BÖLÜM -2: VERİLERİ SINIRLAMA VE SIRALAMA

Veri Tabanı Örnekleri

Maliye Uzman Yardımcılığı Giriş Sınavı (Bilişim)-16 Mart 2014 B

3 Sql Veri Tipleri. Veritabanı 1

Birden Çok Tabloda Sorgulama (Join)

Bölüm 3: DML Veri İşleme Dili

BİLİŞİM TEKNOLOJİLERİ

Gruplama (aggregate) fonksiyonları bir dizi değer üzerinde hesaplama yaparlar ve bir sonuç

Tablolar Arası İlşikiler ve Alan Özellikleri. Şekil 1. Magaza veritabanının tabloları ve tablolar arasındaki ilişkiler

Transkript:

Mysql Veritabanı Komutları Mysql Veri Tabanı Komutları Hazırlayan : M. Başar ACAROĞLU Kaynaklar: http://www.hrzafer.com/sql-dersleri http://www.w3schools.com/sql/default.asp

Veri Tabanı Nedir?

Mysql Veritabanı oluşturma CREATE DATABASE vtismi;

Mysql Veritabanı kullanma USE dbadi;

Mysql Veritabanı Tablo Oluşturma CREATE TABLE tablo_adi ( alan_adi1 veri_tipi(boyut), alan_adi2 veri_tipi(boyut), alan_adi3 veri_tipi(boyut),... ); Örnek : CREATE TABLE Kisiler ( KisiID int, Soyad varchar(255), Ad varchar(255), Adres varchar(255), Sehir varchar(255) );

Mysql Veri Türleri Text Veri Tipleri: CHAR( ) : Sabit 0 255 karakter.(adi char(5) > diye bir tanımla yapıp bu alana 2 karakterlik bir veri girsenizde 5 byte alan ayrılır ) VARCHAR( ) : Değişken 0 255 karakter.(adi varchar(5) > diye bir tanımla yapıp bu alana 2 karakterlik bir veri girseniz, 2 byte alan ayrılır ) TINYTEXT : En Fazla 255 karakter. TEXT : En Fazla 65.535 karakter. BLOB : En Fazla 65.535 karakter. MEDIUMTEXT : En Fazla 16.777.215 karakter. MEDIUMBLOB : En Fazla 16.777.215 karakter. LONGTEXT : En Fazla 4.294.967.295 karakter. LONGBLOB : En Fazla 4.294.967.295 karakter.

Mysql Veri Türleri Numeric Veri Tipleri: TINYINT( ) : -128,127 yada 0-255 UNSIGNED. SMALLINT( ) : -32.768,32.767 yada 0 65.535 UNSIGNED. MEDIUMINT( ) : -8.388.608, 8.388.607 yada 0 16.777.215 UNSIGNED. INT( ) : -2.147.483.648, 2.147.483.647 yada 0 4.294.967.295 BIGINT( ) : -9.223.372.036.854.775.808, 9.223.372.036.854.775.807 yada 0 18.446.744.073.709.551.615 FLOAT : KüÇük Noktalı sayı. DOUBLE(, ) : Büyük Noktalı sayı. DECIMAL(, ) : DOUBLE tipte string şeklinde saklanır.

Mysql Veri Türleri Tarih ve Zaman Veri Tipleri: DATE : YYYY-MM-DD DATETIME : YYYY-MM-DD HH:MM:SS TIMESTAMP : YYYYMMDDHHMMSS TIME : HH:MM:SS Diğer Veri Tipleri: ENUM ( ) : Kullanıcı tanımlı liste tipi. Ür; ENUM( E, H ) SET : Küme Tipi. ENUM benzeri. Aynı anda birden fazla kayıt tutabilir.

Constraint (Kısıtlayıcı) Veri üzerindeki mantıksal sınırlamalara kısıt adı verilir. Kısıtların genel olması tercih edilen bir durumdur. Kısıtlar, veri modellerinde bütünlük sağlamak için kullanılır. Kısıtlamalar, tabloların tanımlanmasıyla beraber oluşan öğelerdir. Kısıtlamalar ile Rule (kural) ve Default ların (varsayılan) yapabileceği işler yapılabilir. Constraintler tablo oluştururken yani CREATE TABLE komutuyla tanımlanabilir. Tablo oluşturulmuşsa ALTER TABLE komutuyla bu işlem gerçekleşir. ALTER TABLE komutuyla kullanıldığında sütunlara girilen bilgilerin dikkate alınması gerekir.

Constraint (Kısıtlayıcı) NOT NULL Alana boş değer girilemeyeceğini belirtir UNIQUE Tekil alan kısıtlayıcı anlamındadır. Birincil anahtar olan ve tablodaki diğer alanlar içinde aynı içeriğe sahip verilerin olmaması için Unique Constraint tanımlanır. T.C.Kimlik Nu. primary key ve Okul Nu. Unique şeklinde bir tanımlama Unique Constraint e bir örnektir. PRIMARY KEY - Birincil anahtar kısıtlayıcı anlamındadır. Aynı olmayan değerler girilmesini sağlar. Bu da her kaydın farklı olması demektir. Her tablonun en fazla 1 adet Primary Key Constraint i olabilir. FOREIGN KEY - Yabancıl anahtar kısıtlayıcı anlamındadır. Bir tablodaki bir sütuna ait verilerin başka bir tablonun belirli bir sütunundan gelmesini denetler. CHECK - Kontrol kısıtlayıcı anlamındadır. Belirtilen formata göre verilerin girilmesini sağlar. Örneğin, T.C.Kimlik Nu. alanına 11 karakterin girilmesi Check Constraint ile sağlanabilir. DEFAULT - Varsayılan kısıtlayıcı anlamındadır. Tablodaki herhangi bir alan için girilmesi gereken bir değerin atanmasıdır. INSERT komutu için geçerlidir. Örneğin, kişi bilgilerinin alındığı bir tabloda kişinin uyruğunun girilmesi işleminde varsayılan değer olarak T.C. atanabilir.

MYSQL NOT NULL CREATE TABLE KisilerNotNull ( K_Id int NOT NULL, Soyad varchar(255) NOT NULL, Ad varchar(255), Adres varchar(255), Sehir varchar(255) )

MYSQL UNIQUE CREATE TABLE Kisiler ( K_Id int NOT NULL, Soyad varchar(255) NOT NULL, Ad varchar(255), Adres varchar(255), Sehir varchar(255), UNIQUE (K_Id) )

MYSQL PRIMARY KEY CREATE TABLE Kisiler ( K_Id int NOT NULL, Soyad varchar(255) NOT NULL, Ad varchar(255), Adres varchar(255), Sehir varchar(255), PRIMARY KEY (K_Id) )

MYSQL FOREIGN KEY CREATE TABLE Siparisler ( O_Id int NOT NULL, OrderNo int NOT NULL, K_Id int, PRIMARY KEY (O_Id), FOREIGN KEY (K_Id) REFERENCES Kisis(K_Id) )

MYSQL CHECK CREATE TABLE Kisiler ( K_Id int NOT NULL, Soyad varchar(255) NOT NULL, Ad varchar(255), Adres varchar(255), Sehir varchar(255), CHECK (K_Id>0) ) CREATE TABLE Kisiler ( K_Id int NOT NULL, Soyad varchar(255) NOT NULL, Ad varchar(255), Adres varchar(255), Sehir varchar(255), CONSTRAINT kont_kisi CHECK (K_Id>0 AND Sehir='Eskişehir') )

MYSQL DEFAULT CREATE TABLE Kisiler ( K_Id int NOT NULL, Soyad varchar(255) NOT NULL, Ad varchar(255), Adres varchar(255), Sehir varchar(255) DEFAULT 'İZMİR' ) CREATE TABLE Siparisler ( O_Id int NOT NULL, OrderNo int NOT NULL, K_Id int, OrderDate date DEFAULT GETDATE() )

MYSQL AUTO INCREMENT ALAN CREATE TABLE Kisiler ( ID int NOT NULL AUTO_INCREMENT, Soyad varchar(255) NOT NULL, Ad varchar(255), Adres varchar(255), Sehir varchar(255), PRIMARY KEY (ID) )

MYSQL DROP INDEX, DROP TABLE, and DROP DATABASE DROP TABLE tablo_adi DROP DATABASE database_adi TRUNCATE TABLE tablo_adi

MYSQL ALTER TABLE ALTER TABLE komutu bir tabloda değişiklik yapmak için kullanılır. ALTER TABLE eskiad RENAME TO yeniad ALTER TABLE ogrenciler ADD babaismi varchar(50); ALTER TABLE Uyeler ADD (Yer VARCHAR(50), Yas INT, Uye_ID Counter, Kayit_Tarihi DATETIME, Profil MEMO); ALTER TABLE ogrenciler DROP COLUMN kimyanotu ; ALTER TABLE Uyeler MODIFY Yer VARCHAR(100);

MYSQL INSERT INTO INSERT INTO tablo_adi VALUES (deger1,deger2,deger3,...); INSERT INTO tablo_adi (kolon1,kolon2,kolon3,...) VALUES (deger1,deger2,deger3,...);

MYSQL UPDATE UPDATE tablo_adi SET kolon1=deger1,kolon2=deger2,... WHERE kolon=deger;

MYSQL DELETE DELETE FROM tablo_adi WHERE kolon=deger;

MYSQL SELECT SELECT kolon_adi,kolon_adi FROM tablo_adi; SELECT * FROM tablo_adi;

MYSQL SELECT ALIASES SELECT kolon_adi AS alias_adi FROM tablo_adi; SELECT MusteriAdi AS Musteri, ilgiliadi AS [ilgili Kisi] FROM Musteriler; SELECT MusteriAdi, Adres+', '+Sehir+', '+PostaKodu+', '+Ulke AS Adres FROM Musteriler;

MYSQL SELECT ALIASES Tablolara Alias Atama SELECT alias_adi.kolon_adi FROM tablo_adi alias_adi; SELECT u.isim, u.soyisim FROM uyeler u WHERE u.cinsiyet='k' AND u.isim='derya'

MYSQL SELECT DISTINCT SELECT distinct kolon_adi,kolon_adi FROM tablo_adi; SELECT distinct kolon_adi,* FROM tablo_adi;

MYSQL SELECT WHERE SELECT kolon_adi,kolon_adi FROM tablo_adi WHERE kolon_adi operator deger;

MYSQL SELECT WHERE Operatör Açıklama = eşit <> Eşit değil > büyüktür < küçüktür >= Büyük eşit <= Küçük eşit between Belitilen değerler arasında like Özel arama in Belitilen birden fazla değer için

MYSQL SELECT WHERE Şartları bağlamak için or/and kullanılır. SELECT * FROM Musteriler WHERE Ulke='Germany' AND Sehir='Berlin'; SELECT * FROM Musteriler WHERE Ulke='Germany' AND (Sehir='Berlin' OR Sehir='München');

MYSQL SELECT WHERE LIKE SELECT kolon_adi(lar) FROM tablo_adi WHERE kolon_adi LIKE pattern;

MYSQL SELECT WHERE LIKE Karakterler Açıklama % Karakter dizisi _ [karakterlistesi] [^karakterlistesi] veya [! karakterlistesi] Tek bir karakter Eşleşecek karakter aralığı Eşleşmeyecek karakter aralığı SELECT * FROM Musteriler WHERE Sehir LIKE 'ber%'; SELECT * FROM Musteriler WHERE Sehir LIKE '%es%'; SELECT * FROM Musteriler WHERE Sehir LIKE '_erlin'; SELECT * FROM Musteriler WHERE Sehir LIKE 'L_n_on'; SELECT * FROM Musteriler WHERE Sehir LIKE '[bsp]%'; SELECT * FROM Musteriler WHERE Sehir LIKE '[a-c]%'; SELECT * FROM Musteriler WHERE Sehir LIKE '[!bsp]%'; SELECT * FROM Musteriler WHERE Sehir NOT LIKE '[bsp]%';

MYSQL SELECT WHERE IN SELECT kolon_adi(lar) FROM tablo_adi WHERE kolon_adi IN (deger1,deger2,...); SELECT * FROM Musteriler WHERE Sehir IN ('Paris','London');

MYSQL SELECT WHERE BETWEEN SELECT kolon_adi(lar) FROM tablo_adi WHERE kolon_adi BETWEEN deger1 AND deger2; SELECT * FROM Urunler WHERE Fiyat BETWEEN 10 AND 20; SELECT * FROM Urunler WHERE Fiyat NOT BETWEEN 10 AND 20; SELECT * FROM Urunler WHERE (Fiyat BETWEEN 10 AND 20) AND NOT KategoriID IN (1,2,3); SELECT * FROM Siparisler WHERE OrderDate BETWEEN #07/04/1996# AND #07/09/1996#;

MYSQL SELECT ORDER BY SELECT kolon_adi,kolon_adi FROM tablo_adi ORDER BY kolon_adi,kolon_adi ASC DESC; SELECT * FROM Musteriler ORDER BY Ulke;

MYSQL LIMIT SELECT sorgusu ile dönen kayıtların belli bir sayıda olmasını istememiz halinde LIMIT anahtar sözcüğünü kullanırız. Özellikle binlerce kayıt bulunan çok geniş tablolarda bu komut performans açısından oldukça faydalı olabilir. Select * from uyeler where 1 limit 10; Select * from uyeler where 1 limit 5,5;

MYSQL KÜMELEME FONKSİYONLARI AVG() Fonksiyonu Ortalama hesaplar. Örneğin çalışanların ortalama ne kadar maaş aldığını hesaplamak istersek: SELECT AVG(maaş) FROM kisiler

MYSQL KÜMELEME FONKSİYONLARI COUNT() Fonksiyonu Bir alandaki değerlerin kaç adet olduğunu yani sayısını hesaplar. Örneğin kaç çalışanın olduğunu hesaplamak istersek: SELECT COUNT(maaş) AS Sayı FROM kisiler Eğer bir kolondaki farklı değerlerin sayısını öğrenmek istiyorsak COUNT ifadesini COUNT (DISTINCT kolon_adı) şeklinde kullanırız. Örneğin kaç farklı ülkeden çalışan olduğunu hesaplamak istersek: SELECT COUNT(DISTINCT ülke) AS ÜlkeSayısı FROM kisiler

MYSQL KÜMELEME FONKSİYONLARI MAX() ve MIN() Fonksiyonları Bir alandaki en büyük ve en küçük değerleri döndürürler. En yaşlı ve en genç çalışanları belirlemek istersek: SELECT MAX(yas) AS EnYaşlı FROM kisiler SELECT MIN(yas) AS EnGenç FROM kisiler

MYSQL KÜMELEME FONKSİYONLARI SUM() Fonksiyonu Sayısal değerler içeren bir kolondaki değerlerin toplamını döndürür. Örneğin aylık ödenen toplam maaşı öğrenmek istersek: SELECT SUM(maaş) AS ToplamMaaş FROM kisiler

MYSQL SELECT GROUP BY SELECT kolon_adi FROM tablo_adi GROUP BY kolon_adi; SELECT ülke FROM `musteriler` GROUP BY ülke;

MYSQL HAVING HAVING ifadesi GROUP BY ifadesi ile birlikte kullanılan bir ifade. Aslında HAVING ifadesinin işlevi WHERE ifadesininkine çok benziyor. Ancak kümeleme fonksiyonları ile WHERE ifadesi birlikte kullanılamadığından HAVING ifadesine ihtiyaç duyulmuştur. SELECT ülke, AVG(maaş) FROM `kisiler` GROUP BY ülke HAVING AVG(yas) > 30

MYSQL BİRDEN FAZLA TABLO İLE ÇALIŞMAK SELECT * FROM kitaplar, yayinevleri SELECT * FROM kitaplar, yayinevleri WHERE kitaplar.yv_no = yayinevleri.no SELECT kitaplar.isim, yayinevleri.isim FROM kitaplar, yayinevleri WHERE kitaplar.yv_no = yayinevleri.no SELECT K.isim, Y.isim FROM kitaplar K, yayinevleri Y WHERE K.yv_no = Y.no

MYSQL ÖRNEK VERİ TABANI

MYSQL JOIN TÜRLERİ Inner Join Inner join en çok kullanılan join türüdür ve her iki tablodaki ortak kayıtları döndürür. Bir başka ifade ile iki tablonun kesişimini döndürür. Mesela bölüm ve öğrenci tablolarını birleştirmek istersek SELECT * FROM bolum b INNER JOIN ogrenci o ON b.bid = o.bid

MYSQL JOIN TÜRLERİ Left join Eğer bir tablodaki tüm kayıtlar ile diğer tablodaki birleştirme koşulunu sağlayan kayıtları döndürmek istersek left join kullanırız. Mesela tüm bölümleri (hiç öğrencisi olmayanlar da dahil) ve bir bölüme kayıtlı öğrencileri sorgulamak istersek: SELECT * FROM bolum b LEFT JOIN ogrenci o ON b.bid = o.bid

MYSQL JOIN TÜRLERİ Right join sorguyuda left (sol) yerine right (sağ) sözcüğünü kullanmış olsaydık, tüm öğrenciler ile en az bir öğrencisi olan bölümler seçilirdi. Yani left ve right tüm kayıtların seçileceği tablonun sağdaki mi yoksa soldaki mi olacağını belirtiyor yalnzıca. SELECT * FROM bolum b RIGHT JOIN ogrenci o ON b.bid = o.bid

MYSQL JOIN TÜRLERİ Full Outer Join Tüm öğrencileri ve tüm bölümleri seçmek istersek full outer join kullanırız. SELECT * FROM bolum b FULL OUTER JOIN ogrenci o ON b.bid = o.bid