Veritabanı İlişki Tipleri

Dünyadaki veri büyüklüğün artması ve bu verinin gittikçe değer kazanması ile Oracle, MsSQL ve MySQL gibi ilişkisel veritabanlarında (relational database) veri tutarlılığı, hız, veriye kolay ulaşma, stabilite çok önemli bir noktaya geldi. Tabiki bu özellikleri sağlamamanın ilk kurallarından biriside veritabanındaki verinin nasıl saklanacağının tasarımı. Bu nedenle veritabanı kurulurken ilişki tiplerine dikkat edilmeli ve gerekiyorsa zorunluluklar ile ilişki bütünlüğü kontrol edilerek devamlılığı sağlanmalıdır.

Continue reading “Veritabanı İlişki Tipleri”

HOW TO REMOVE DUPLICATE ROWS FROM A TABLE IN ORACLE (PLSQL)

We can easily remove duplicate rows from a table in Oracle.
There are a lot of ways with SQL.
I use the following method:

 DELETE FROM table_name
      WHERE ROWID NOT IN (  SELECT MIN (ROWID)
                              FROM table_name
                          GROUP BY col1, col2, col3, col4...);

Let’s make an example of a scenario.

Sample Table (Before Delete):

beforeRemoveDuplicateRows

Sample Query:

 DELETE FROM xx_employee
      WHERE ROWID NOT IN (  SELECT MIN (ROWID)
                              FROM xx_employee
                          GROUP BY employee_number, first_name, last_name, sex, job);

Sample Table (After Delete):

afterRemoveDublicateRows

İleri SQL Dersleri 3 – IN Operatörü

sql IN operatörü WHERE ve AND koşulu altında kullanılır. Amacı arama yapılırken aynı tablo kolonu için birden fazla arama koşulunu verebilmektir.
SQL LIKE Syntax

 SELECT column_name(s)
 FROM table_name
 WHERE column_name IN (value1,value2,...);

 

Örnek Veritabanı
Aşağıda tanınmış Northwind örnek veritabanını kullanılıyor.

Aşağıdaki “Customers” tablosuna select çekelim.

ID CustomerName ContactName Address City Code Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

IN Örneği:
Aşağıdaki sorgu Customers tablosundaki city kayıtlarından Paris ve London içeren kayıtları getiriyor.

 SELECT * FROM Customers
 WHERE City IN ('Paris','London');

Denemek İçin Tıklayınız

Benzer şekilde IN yerine NOT IN kullandığımızda arama koşulunda verdiğimiz değerlerden olmayanları getirir.

NOT IN Örneği:
Aşağıdaki sorgu Customers tablosundaki city kayıtlarından Paris ve London içmeyen kayıtları getiriyor.

 SELECT * FROM Customers
 WHERE City NOT IN ('Paris','London');