Pada pertemuan sebelumnya sudah sedikit membahas DML. Sekarang akan membahas DDL atau Data Definition Language.
DDLadalah kumpulan perintah SQL yang digunakan untuk membuat (create), mengubah (alter) dan menghapus (drop) struktur dan definisi tipe data dari objek-objek database.
Objek-objek database pada yang dimaksud  adalah sebagai berikut :
  1. Database
  2. Table
  3. View
  4. Index
  5. Procedure (Stored Procedure)
  6. Function
  7. Trigger
kali ini kita tidak akan membahas semuanya.

1. Create Table
Untuk dapat menciptakan tabel dalam database Oracle, seorang user harus memiliki hak akses untuk menciptakan tabel, yaitu hak akses CREATE TABLE (CREATE TABLE privilege).
Bentuk umum perintah CREATE TABLE adalah:
CREATE TABLE [schema.] table
(column datatype [DEFAULT expr] [, …..]);
Dimana :
  • schema adalah nama user schema 
  • table adalah nama tabel 
  • DEFAULT expr mendefinisikan nilai default apabila nilai tidak didefinisikan saat menggunakan statement INSERT saat meng-inputkan data pada tabel 
  • column adalah nama kolom 
  • datatype adalah tipe data dan panjang kolom
contoh : 
create table dept(deptno number(2), dname varchar(14), loc varchar(13), create_date date default sysdate);

  •  Create Table dengan Unique, Primary Key dan Foreign Key
1. Unique
contoh:
create table employees(
employee_id number(6),
last_name varchar2 (25) not null,
email varchar2(25),
salary number (8,2),
commision_pct number (2,2),
hire_date date not null,
constraint emp_email_uk unique (email)); 

2 Primary Key
contoh:
create table penjual(
no_penjual number(3) not null,
nama_awal varchar2(15) not null,
nama_akhir varchar2(15) not null,
jabatan varchar2(12) not null,
manager varchar2(30),
telepon number(12),
constraint pk_no_penjual primary key(no_penjual)
);

3. Foreign Key
contoh:
create table data_pesanan(
kode_pesanan varchar2(5) not null,
kode_produk varchar2(3) not null,
harga_jual number (12) not null,
jumlah_pesanan number(3) not null,
constraint fk_kode_produk foreign key (kode_produk)
references produk(kode_produk));

4. Unique, Primary Key dan Foreign Key
contoh:
create table produk(
kode_produk varchar2(3) not null,
nama_produk varchar2(20) not null,
no_kategori number(4)not null,
qty number(4)not null,
harga_satuan number (12)not null,
constraint pk_kode_produk primary key(kode_produk),
constraint uq_nama_produk unique(nama_produk),
constraint fk_no_kategori foreign key (no_kategori)
references kategori(no_kategori));

~Sekian~

visit    :www.zepic123.blogspot.co.id
Pengertian DML
DML adalah singkatan dari Data Manipulation Language yang merupakan kumpulan perintah SQL yang dapat digunakan untuk proses pengolahan isi data pada table contohnya menginput data, mengubah dan menghapus data pada table dan tidak terkait dengan perubahan struktur & definisi tipe data dari objek database.
Berikut beberapa perintah DML pada database yang wajib diketahui

DELETE
INSERT
SELECT
TRUNCATE
UPDATE
pada keempatan kali ini kita tidak akan membahas semuanya

1. Insert
memasukan atau input data pada database, contoh:

INSERT INTO <namaTabel> [(field1, field2, … fieldn)] VALUES <ListValues>

insert into departments(department_id ,department_name, manager_id, location_id)
values (71,'Public relation',100,1700);
atau
insert into departments
values (71,'Public relation',100,1700);

2. Update
mengganti atau mengubah data di tabel yang ada pada database,contoh

UPDATE <NamaTabel> SET <field1>=<nilai1> [,<field2>=<nilai2>, … <fieldn>=<nilain>]

update copy_employee set department_id = 30 where employee_id = 104


3. Delete
menghapus data dalam database baik itu data di table maupun table itu sendiri,contoh menghapus isi tabel:

DELETE FROM <NamaTabel> [WHERE <kondisi>]

Delete from copy_employee where employee_id = 104


~~ Sekian ~~













source : https://rankga.wordpress.com/2008/03/28/data-manipulation-language-dml-pada-oracle/
http://zepic123.blogspot.co.id

Kali ini akan membahas tentang subquery dan operator pada oracle 10g jika pada minggu lalu kita membahas join table bisa dilihat disini.

1. Subquery di Oracle
Subquery adalah statement SELECT yang di-embed-kan dalam klausa selain statement SELECT.
Subquery dapat ditempatkan dalam klausa SQL termasuk dalam :
klausa WHERE
klausa HAVING
klausa FROM
  • Single-row subqueries : query yang hanya mengembalikan satu record (baris) dari inner statement SELECT
  • Multiple-row subqueries : query yang mengembalikan lebih dari satu record (baris) dari inner statement SELECT
1. Single row subqueris
select last_name,job_id, salary
from employees
where salary =
(select min(salary)from employees)




2. Multiple row subqueries

select last_name,job_id, salary
from employees
where job_id =
(select job_id from employees where employee_id = 141)
and salary >
(select salary from employees where employee_id = 143)






2. Operator 
ada beberapa operator pada database oracle:
1. Union
contoh penggunaan union
select employee_id ,job_id from employees
union
select employee_id, job_id from job_history

2. Intersect
contoh penggunaan intersect:
select employee_id ,job_id from employees
intersect
select employee_id, job_id from job_history



3.Minus
contoh penggunaan minus:
select employee_id ,job_id from employees
minus
select employee_id, job_id from job_history


source : http://databaseworldfun.blogspot.co.id/2016/05/subquery.html
http://zepic123.blogspot.co.id
Kali ini akan melanjutkan fungsi join pada tabel di database oracle jika pada minggu kemarin sudah sempat membahas function group by having dan join.

1.Non-equijoin
Ini digunakan untuk menampilkan kolom pada database dengan ketentuan atau spesifikasi tertentu, misal:

select e.last_name, e.salary, j.job_title from employees e join jobs j on ec.salary between j.min_salary and j.max_salary


2. Outer Join
Outer Join dibagi menjadi tiga jenis, left join, right join, full join
    a. Left Join
        left outer join atau left join adalah sebuah perintah di oracle yang digunakan untuk                                mengebalikan semua nilai dari tabel kiri ditambah dengan tabel nilai dari tabel kanan yang                  sesuai atau null jika tidak ada yang sesuai.misal :

        select e.last_name, e.department_id, d.department_name from employees e left outer join                    departments d on (e.department_id = d.department_id) where e.last_name = 'Grant';



     b. Right Join
         pada dasarnya sama seperti left join hanya berbeda dari kanan ke kiri, misal :
         select e.last_name, e.salary, j.job_title from employees e join jobs j on e.salary between                       j.min_salary and j.max_salary



      c. Full Join
          full outer join atau full join adalah kombinasi antara left dan right join
           select e.last_name, e.department_id, d.department_name
           from employees e full outer join departments d on (e.department_id = d.department_id) 
           where e.last_name is null or e.department_id is null and rownum <= 5;


~ Sekian ~




Kali ini akan membahas sedikit tentang klausa atau function Having, Group dan Join by di oracle database. Sebelumnya kita sudah membahas materi lainnya disini.

1.Group 
 Biasanya pada saat menyeleksi data, sering di minta untuk menampilkan sekumpulan data berdasarkan kelompok data tertentu yang biasanya mengeksekusinya dengan memberikan perintah
group by, biasanya dalam pengelompokan data juga di sertakan aggregate function dimana dalam implementasinya memang aggregate function harus di ikuti oleh perintah group by. Tipe-tipe fungsi group pada oracle yaitu : AVG, COUNT, MAX, MIN, SUM.

MAX
Digunakan untuk mencari nilai maksimal dari sekumpulan data yang ada, syntact yang digunakan adalah

Select Field-1,.. Field-n, MAX(nama_field)
From table_name
Group By Field-1, Field-n

MIN
Kebalikan dari fungsi max, yakni digunakan untuk mencari nilai minimal (terkecil) dari sekumpulan data yang ada, syntact yang digunakan adalah

Select Field-1,.. Field-n, MIN(nama_field)
From table_name
Group By Field-1, Field-n

COUNT
Digunakan untuk mencari banyaknya data dari sekumpulan data yang ada, syntact yang digunakan adalah

Select Field-1,.. Field-n, COUNT(nama_field)
From table_name
Group By Field-1, Field-n

AVERAGE
Digunakan untuk mencari rata-rata dari sekumpulan data yang ada, syntact yang digunakan adalah

Select Field-1,.. Field-n, AVG(nama_field)
From table_name
Group By Field-1, Field-n

SUM
Digunakan untuk mencari jumlah dari sekumpulan data yang ada, syntact yang digunakan adalah

Select Field-1,.. Field-n, SUM(nama_field)
From table_name
Group By Field-1, Field-n

Misal untuk menampilkan nilaimax, min, count, rata2 dan jumlah data dari tabel product, maka syntak yang digunakan

Select kode_product,
MIN (jumlah_product) as Nilai_Min_Product
MAX (jumlah_product) as Nilai_Max_Product
COUNT (jumlah_product) as Cacah_Product
AVG (jumlah_product) as Rata2_Product
SUM (jumlah_product) as Jumlah_Product
from tabel_product
group by kode_product;


2. Having

       Perintah Having digunakan untuk membatasi data yang tampil tergantung apa yang kita ingin tampilkan misalnya :
Mencari rata rata salary dengan ketentuan (having) salary > 8000 dan urutkan sesuai department id

Having
3. Join
 
       ada beberapa cara untuk menabungkan tabel yang ada pada database misalnya saja natural join dan self join. Contohnya bisa di lihat dibawah ini

a. Natural Join
Aturan natural join :
1. nama field atau kolom harus samat
2. value yang ada di kolom harus sama
3. type data harus sama dan berat

ada beberapa cara penulisan natural join, contohnya:

select department_id, department_name, location_id, city
from departments
natural join locations;

ATAU

select employees.employee_id, employees.last_name, departments.location_id, department_id
from employees join departments using(department_id)

ATAU

select a.employee_id, a.last_name, b.location_id, department_id
from a join b using(department_id)

ATAU

select a.employee_id, a.last_name, b.location_id, a.department_id
from employees a join departments b on a.department_id = b.department_id

Natural Join

B. Self Join
     Contoh Self Join sebagi berikut

select e.employee_id,location_id, l.city, e.department_id,department_name
from employees e join departments d on d.department_id = e.department_id
join locations l on d.location_id=l.location_id

Self Join
~ Terima Kasih ~
Kali ini kita akan membahas klausa select selanjutnya, untuk postingan kali ini akan lebih banyak klausa untuk memanipulasi string di dalam database.

1.UPPER dan LOWER
untuk mengubah data string menjadi huruf kecil atau besar,bisa juga digunakan untuk mencari suatu kondisi tertentu misalnya:
Upper

Lower
2.CONCAT
fungsinya untuk menggabungkan 2 buah data bertipe data string, misal :
Concat
3.SUBSTR
biasanya berfungsi untuk mengambil data string di dalam suatu data string misalnya:
Substr

4.LENGTH
berfungsi untuk menghitung jumlah karakter string di dalam suatu data di dalam tabel database misal:
Length

5.INSTR
ini berfungsi untuk menentukan atau mencari dimana suatu karakter tertentu 'string' berada di dalam suatu data string, misal:
Instr
6.RPAD dan LPAD
berfungsi untuk menyembunyikan atau bisa juga menambahkan karakter terterntu bukan hanya string di dalam data database contoh ini bisa di lihat di struk-struk penarikan tunai di ATM, misal:
Rpad dan Lpad
7.ROUND dan TRUNC
digunakan untuk membulatkan sebuah bilangan desimal jika ROUND akan membulatkan angka decimal ke atas misal 45.98 akan menjadi 46 jika TRUNC  akan membulatkan angka decimal ke bawah misal 45.98 akan menjadi 45, misal :
Trunc dan Round
8.MOD
berfungsi untuk menampilkan jumlah sisa pembagian di suatu bilangan misal
Mod

~~Sekian~~
Kali ini akan melanjutakan materi dari artikel mingu lalu. Bisa dilihat di sini, oke langsung saja

1. Like
Menampilkan suatu karakter dalam sebuah kata atau kalimat di dalam tabel,misal kita kana menampilkan data nama akhir dari tabel employee dimana karakter ke 3 adalah "L"

2. And
Menampilkan dua kondisi atau keadaan yang mempunyai syarat tertentu yang didtetapkan dengan where misal kita akan menampilkan employee_id,last_name,job_id,salary pada tabel employee dimana mempunyai syarat ssalary salary >= 10000 dan  job_id mempunyai kararter 'MAN'
3.Or
Hampir sama dengan AND tetapi jika and kedua kodisi harus benar adanya jika Or hanya boleh salah satu saja yang salah misal kita akan menampilkan data di tabel employee dimana salary >= 10000 atau job_id mengandung karakter 'MAN'
4.Gabungan Or dan And
Fungsinya sama saja dengan or dan and tetapi penulisan dan penggunaannya yang berbeda misal kita akan menampilkan last_name,job_id,salary dimana job_id ='SA_REP' atau  job_id = 'AD_PRES' dan salary > 15000
5.Order By
Digunakan untuk mengurutkan data yang akan ditampilkan dari sebuah kolom, secara default untuk ORDER BY adalah ascending(ASC), yaitu diurutkan berdasarkan dari kecil ke besar.
misal kita akan menampilkan last_name,job_id,department_id,hire_date di dalam tabel employee dan urutkan berdasarkan hire date secara descending

Contoh Soal
1.Tampilkan  employee_id,first_name,salary dari tabel employee dimana salary > 9000

2. Tampilkan data employee_id,first_name dari tabel employee dimana nama depan huruf terakhir adalah "N"

3. Tampilkan data manager yang pekerjaannya atau job idnya adalah IT Prog di tabel employee

4. Hitung ada berapa nama karyawan yang namanya "Bruce" di tabel employee

5.Tampilkan dari tabel employee yang nama terakhir dan huruf ke tiga adalah "L" dan salary>=5000

6.Tampilkan nama employee dari tabel employee dan urutkan berdasarkan nama secara descending

7. Tampilkan nama employee dan salaray dalam setahun di tabel employee dimana salary dalam setahun salary > 200000 dan urutkan data secara descending

~Sekian Terimakasih~
Copyright © 2013 ARIS B. NUGROHO