Rabu, 20 Januari 2016

Nomor Urut SQL

Cara membuat nomor urut SQL, syntax

select  ROW_NUMBER() OVER (ORDER BY nama_kolom ASC) AS NOMOR  from nama_tabel

Contoh :
select ROW_NUMBER() OVER ( ORDER BY emp_id ASC) AS NOMOR from employe

Minggu, 10 Januari 2016

Join tabel SQL

1. INNER JOIN atau JOIN
Inner Join berguna untuk menggabungkan tabel dan harus membutuhkan satu kolom unik yang ada pada primary key maupun foreign key. Apabila ada foreign key maupun primary key yang kosong, penggunaan fungsi ini hanya akan memunculkan data yang foreign key-nya memiliki record yang isi saja.
  Syntax :

SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name=table2.column_name;

atau
SELECT column_name(s)
FROM table1
JOIN table2
ON table1.column_name=table2.column_name;
Contoh :

--B=tabel master salesman
SELECT  id, salesname,phone  from mstsales;
1    Mike      0899278371
2    John        0889927812
3    Andrea    0876638812

--A=tabel transaksi salesman
SELECT id, salesid, years, totalitem from transell;
1    1    2011    321
2    1    2012    123
3    1    2013    124
4    1    2014    342
5    2    2011    523
6    2    2012    311
7    2    2013    231
8    2    2014    123
9    3    2011    234
10    3    2012    333
11    3    2013    123

select A.id, A.salesid, B.salesname, A.years,A.totalitem  from transell A INNER JOIN mstsales B ON A.salesid = B.id;
1           1           Mike                                               2011        321
2           1           Mike                                               2012        123
3           1           Mike                                               2013        124
4           1           Mike                                               2014        342
5           2           John                                               2011        523
6           2           John                                               2012        311
7           2           John                                               2013        231
8           2           John                                               2014        123
9           3           Andrea                                             2011        234
10          3           Andrea                                             2012        333
11          3           Andrea                                             2013        123

(11 row(s) affected)

2. LEFT JOIN atau LEFT OUTER JOIN
Left Join merupakan penggabungan tabel dimana data akan ditampilkan secara keseluruhan pada tabel pertama (kiri) namun record pada tabel kedua (kanan) yang kosong akan ditampilkan dengan isi NULL.

Syntax :

SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name=table2.column_name;

atau

SELECT column_name(s)
FROM table1
LEFT OUTER JOIN table2
ON table1.column_name=table2.column_name;

 Contoh :
--B=tabel master salesman
SELECT  id, salesname,phone  from mstsales;
1    Mike      0899278371
2    John        0889927812
3    Andrea    0876638812

--A=tabel transaksi salesman
SELECT id, salesid, years, totalitem from transell;
 1           1           2011        321
2           1           2012        123
3           4           2013        124
4           5           2014        342
5           2           2011        523
6           2           2012        311
7           2           2013        231
8           5           2014        123
9           3           2011        234
10          3           2012        333
11          3           2013        123

select B.id, B.salesid, A.salesname, B.years,B.totalitem  from mstsales A LEFT JOIN transell B ON B.salesid = A.id





id          salesid     salesname                                          years       totalitem
----------- ----------- -------------------------------------------------- ----------- -----------
1           1           Mike                                               2011        321
2           1           Mike                                               2012        123
5           2           John                                               2011        523
6           2           John                                               2012        311
7           2           John                                               2013        231
9           3           Andrea                                             2011        234
10          3           Andrea                                             2012        333
11          3           Andrea                                             2013        123

(8 row(s) affected)



3. RIGHT JOIN atau RIGHT OUTER JOIN
Right Join merupakan penggabungan tabel dimana data akan ditampilkan secara keseluruhan pada tabel kedua (kanan) namun record pada tabel pertama (kiri) yang kosong akan ditampilkan dengan isi NULL.
Syntax :
SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name=table2.column_name;

atau

SELECT column_name(s)
FROM table1
RIGHT OUTER JOIN table2
ON table1.column_name=table2.column_name;
 
--B=tabel master salesman
SELECT  id, salesname,phone  from mstsales;
1    Mike      0899278371
2    John        0889927812
3    Andrea    0876638812

--A=tabel transaksi salesman
SELECT id, salesid, years, totalitem from transell;
 1           1           2011        321
2           1           2012        123
3           4           2013        124
4           5           2014        342
5           2           2011        523
6           2           2012        311
7           2           2013        231
8           5           2014        123
9           3           2011        234
10          3           2012        333
11          3           2013        123

select B.id, B.salesid, A.salesname, B.years,B.totalitem  from mstsales A RIGHT JOIN transell B ON B.salesid = A.id
1           1           Mike                                               2011        321
2           1           Mike                                               2012        123
3           4           NULL                                               2013        124
4           5           NULL                                               2014        342
5           2           John                                               2011        523
6           2           John                                               2012        311
7           2           John                                               2013        231
8           5           NULL                                               2014        123
9           3           Andrea                                             2011        234
10          3           Andrea                                             2012        333
11          3           Andrea                                             2013        123

(11 row(s) affected)

4.CROSS JOIN

Select Distinct SQL

Select Distinct digunakan untuk menampilkan data yang berbeda  (distinct) dalam suatu tabel database, syntax sbb :

SELECT DISTINCT column_name,column_name
FROM table_name;

Contoh :
Misal tabel [Sales].[Customer]
 select  custid,companyname, address,city from [Sales].[Customers];
1  Anda PT.         Jl. Ahmad Yani No.7     Surabaya
2  Bersama CV.   Jl. Karimata no. 6          Surabaya
3  Kuda PT.         Jl. Kerinci No.10           Bandung
4. Pertama PT.     Jl.Sulawesi No.8           Jakarta
5. Laris CV.          Jl. Jawa No.4                Denpasar
6. Modern PT.     Jl. Merdeka No.4           Jakarta

select distinct city from [Sales].[Customers];
city
Bandung
Denpasar
Jakarta
Surabaya

Select SQL

Perintah Select digunakan untuk menampilkan data suatu database, syntax sbb :


SELECT column_name,column_name
FROM table_name;

dan


SELECT * FROM table_name;
Contoh :
SELECT DeptID, Name  FROM  [HR].[Department];
DeptID          Name
1                  Sales
2                  Accounting
3                  Human Resource

SELECT * FROM [HR].[Department]; 
DeptID       Name                       Address
1                  Sales                       Jakarta
2                  Accounting             Surabaya
3                  Human Resource    Jakarta

Primary Key dan Foreign Key

Perbedaan  Primary Key dan Foreign Key seperti dalam tabel berikut :


 


    --Buat  Parent Table
    CREATE TABLE Department
     (
     DeptID int PRIMARY KEY, --define primary key
     Name varchar (50) NOT NULL,
     Address varchar(100) NULL
    )
     GO 


     --Buat Child Table
    CREATE TABLE Employee
     (
     EmpID int PRIMARY KEY, --define primary key
     Name varchar (50) NOT NULL,
     Salary int NULL,
     --define foreign key
     DeptID int FOREIGN KEY REFERENCES Department(DeptID)
     ) 




Source : http://www.dotnet-tricks.com/Tutorial/sqlserver/TENc260912-Difference-between-Primary-Key-and-Foreign-Key.html

Perintah dasar SQL

Berikut perintah dasar SQL yang sering digunakan :


SELECT  untuk menampilkan data tabel database
UPDATE untuk mengubah data tabel database
DELETE untuk menghapus data tabel database
INSERT INTO  untuk menambah data tabel database
CREATE DATABASE  untuk membuat database baru
ALTER DATABASE untuk memodifikasi/mengubah database
CREATE TABLE  untuk membuat tabel baru database
ALTER TABLE  untuk memodifikasi/mengubah tabel database
DROP TABLE  untuk menghapus tabel database

Tabel baru SQL

Untuk membuat tabel baru SQL gunakan syntax berikut ini :

CREATE TABLE table_name
(
column_name1 data_type(size),
column_name2 data_type(size),
column_name3 data_type(size),
....
);

Contoh :
 Buka database DB_CONTOH yang sudah ada. Kalau belum ada silahkan lihat Cara membuat database baru. kita akan membuat tabel Department seperti ini.

 CREATE TABLE Department
     (
     DeptID int NOT NULL,
     Name varchar (50) NOT NULL,
     Address varchar(100) NULL
    )
GO

Setelah tabel terbentuk anda bisa mengubah tabel seperti menambah, menghapus atau mengganti kolom (field) tabel tersebut. Anda bisa melihat Cara mengubah tabel SQL

Agar tabel yang di buat lebih informatif, perhatikan script berikut.

--Buat schema dengan nama HR
CREATE SCHEMA HR AUTHORIZATION dbo;
GO

--Buat Parent Table
    CREATE TABLE HR.Department
     (
     DeptID int PRIMARY KEY, --definisikan primary key
     Name varchar (50) NOT NULL,
     Address varchar(100) NULL
    )
     GO

Download  DB_POS-02

Database Baru SQL

Cara membuat database baru SQL gunakan syntax berikut ini :

CREATE DATABASE dbname;

Contoh :
Cara membuat database kosong DB_CONTOH, ketik perintah berikut lalu eksekusi dengan tombol F5
 CREATE DATABASE DB_CONTOH;
GO

 File lengkap berikut bisa anda ketik (bisa pakai Notepad) lalu simpan dengan nama DB_CONTOH1.SQL
 
USE master;

-- Hapus database DB_CONTOH jika sudah ada
IF DB_ID('DB_CONTOH') IS NOT NULL DROP DATABASE DB_CONTOH;

-- Jika database tidak bisa dibuat bila masih ada koneksi, putusabort
IF @@ERROR = 3702
   RAISERROR('Database cannot be dropped because there are still open connections.', 127, 127) WITH NOWAIT, LOG;

-- Buat database baru
CREATE DATABASE DB_CONTOH;
GO

USE DB_CONTOH;
GO


Setelah selesai anda bisa membuat tabel baru. Caranya bisa anda lihat di Tabel baru SQL 

Cara membuat database baru di download disini.

download   DB_POS-01

Catatan : 
Titik koma di akhir perintah SQL merupakan tanda pemisah dengan perintah berikutnya, apabila perintah tersebut memungkinkan ditulis dalam satu baris. Beberapa database sistem bahkan mengharuskan penggunaan titik koma ini.

Tambah Hapus Ubah Kolom Tabel SQL

TAMBAH KOLOM (FIELD)
Untuk menambah kolom (field) tabel gunakan syntax berikut ini :

ALTER TABLE table_name
ADD column_name datatype


Contoh :
Tabel : Sales.Customer
 custid    companyname     address               
1           NRZBB              Obere Str. 0123  
2           MLTDN             Avda. de la ConstituciĆ³n 5678 
3           KBUDE             Mataderos  7890

ALTER TABLE [Sales].[Customer]
ADD city NVARCHAR(15) NOT NULL

HAPUS KOLOM(FIELD)
Untuk menghapus kolom (field) tabel gunakan syntax berikut ini : 

ALTER TABLE table_name
DROP COLUMN column_name