Kamis, 27 April 2017

Fungsi String SQL

CHARINDEX(string1, string2 )
fungsi : menentukan posisi awal (int) karakter string1 di dalam string2
contoh :
--cari karakter yg mengandung tanda 1 petik ' 
select * from tabel 1  where kolom1  like '%''%'
-- cari karakter tanda petik o tanda petik   'o'
select * from tabel1  where kol2  like '%''o''%'

select charindex('''',kol1), kol1 , len(kol1), left(kol1 ,charindex('''',kol1) -1 )+' '+right(kol1, len(kol1 )-charindex('''',kol1 )) from tabel1   where kol1   like '%''%'

select charindex('''o''',kec),kec, len(kec), left(kec,charindex('''o''',kec) -1 )+' o '+right(kec,len(kec)-charindex('''o''',kec)-2) from tabel1  where kec like '%''o''%'

select charindex('''',kec),kec, len(kec),left(kec,charindex('''',kec) -1 )+' '+right(kec,len(kec)-charindex('''',kec)) from tabel1  where kec like '%''%'


CHAR(int)  
fungsi :  character nilai kode ascii

Rabu, 19 April 2017

Akumulasi ( Rolling Sum ) SQL

Contoh :

Date                    Sales           Running Total Of Sales
10/1/2015             5                           5
10/2/2015             3                           8
10/3/2015             7                         15
10/4/2015             8                         23
10/5/2015             2                         25
10/6/2015             3                         28
10/7/2015             6                         34

Cara 1.
select
a.date,
sum(b.sales) as cumulative_sales
from sales_table a
join sales_table b on a.date >= b.date
group by a.date
order by a.date;

Cara 2.
select
date,
sum(sales) over (order by date rows unbounded preceding) as cumulative_sales
from sales_table;



source:https://www.wagonhq.com/blog/running-totals-sql

Jumat, 14 April 2017

Membuat dan modifikasi tabel SQL

A. Membuat tabel dengan perintah CREATE
Contoh :
create table Mahasiswa (
NIM char(8),
Tahun_Ajaran char(4),
Kode_Jurusan char(5),
Nama varchar(50),
Tempat_Lahir varchar(50),
Tanggal_Lahir datetime,
Alamat varchar(150),
Kota varchar(50),
No_Telepon varchar(12)

A. Modifikasi tabel
* Menambah kolom
Contoh :
alter table Mahasiswa add Status_Mahasiswa char(12);

*. Merubah type kolom
Contoh :
alter table Mahasiswa alter column Status_Mahasiswa varchar(12);

*. Menghapus kolom
Contoh :
alter table Mahasiswa drop column Status_Mahasiswa;

*. Menambah Constraint Primary Key kolom
Contoh :
alter table Mahasiswa alter column NIM char(8) not null;
alter table Mahasiswa add constraint pk_Mahasiswa primary key(NIM);

*. Menambah Constraint Foreign Key kolom
Contoh : mereferensi ke tabel jurusan pada kolom Kode_Jurusan
alter table Mahasiswa add constraint fk_Mahasiswa_ref_jurusan foreign key (Kode_Jurusan) references Jurusan(Kode_Jurusan);
  
 *. Menghapus constrain
Contoh :
alter table Mahasiswa drop constraint fk_Mahasiswa_ref_jurusan;

Menghapus table 
Contoh  :
drop table Mahasiswa;
 
 
 
C. DML (Data Manipulation Language )
 
1.    INSERT
Contoh :
Insert into Mahasiswa (NIM, Tahun_Ajaran, Kode_Jurusan, Nama, Tempat_Lahir, Tanggal_Lahir, Alamat, Kota,No_Telepon)
values (‘10113025’, ‘2005’, ‘LB’, ’Dina Rukmantara’, ‘Bandung’ ,’08-20-1983’, ‘Jl. Sari Jadi’, ‘Bandung’, ‘081322442269’);
 
Insert into Mahasiswa values (‘10113025’, ‘2005’, ‘LB’, ’Dina Rukmantara’, ‘Bandung’ ,’08-20-1983’, ‘Jl. Sari Jadi’, ‘Bandung’, ‘081322442269’);
 
Insert into Mahasiswa (NIM, Tahun_Ajaran, Kode_Jurusan, Nama)
values (‘10113025’, ‘2005’, ‘LB’, ’Dina Rukmantara’);

 
 
2.    SELECT
Contoh :
Select * from Mahasiswa ;
 
Select * from Mahasiswa where Tahun_Ajaran = ‘2005’;
 
Operator

Penjelasan
=
Sama
<>
Tidak sama
Lebih kecil
<=
Lebih kecil atau sama
Lebih besar
>=
Lebih besar atau sama
Like
Dapat digunakan dengan simbol %(wildcard)
In
Dapat digunakan menggantikan relasi OR
Between
Diantara dua kondisi
Not Between
Tidak diantara dua kondisi
Null
Bernilai kosong
Not Null
Tidak bernilai kosong
&
Untuk memasukan variabel
&&
Untuk memasukan variabel dan nilai disimpan untuk query berikutnya
 
Select * from Mahasiswa where Tahun_Ajaran>=2001 and Tahun_Ajaran<=2005
 
Select * from Mahasiswa where Nama Like ‘Dina%’;
 
Select * from Mahasiswa where Tahun_Ajaran in (2005,2006);

Select * from Mahasiswa where Tahun_Ajaran Between 2001 and 2006;
 
Select * from Mahasiswa where Tahun_Ajaran  NOT Between 2001 and 2006;
 
Select * from Mahasiswa where No_Telepon IS NOT NULL;
 
Select * from Mahasiswa
where Tahun_Ajaran = ‘2005’ and Kode_Jurusan = ‘LB’;
 
Select * from Mahasiswa
where Tahun_Ajaran = ‘2005’ or Kode_Jurusan = ‘LB’;
 
Select kode_jurusan,count(NIM) from Mahasiswa group by kode_jurusan;
 
select kode_jurusan,count(NIM) from Mahasiswa
group by kode_jurusan
having count(NIM)>1;
 
Select * from Mahasiswa
where Tahun_Ajaran = ‘2005’ and Kode_Jurusan = ‘LB’ order by NIM asc;
 
Select distinct(Kode_Jurusan) from Mahasiswa;

Select Mahasiswa.NIM, Mahasiswa.Nama, Jurusan.Nama_Jurusan from Mahasiswa,Jurusan where Mahasiswa.kode_jurusan = Jurusan.kode_jurusan;
 
Select Mhs.NIM, Mhs.Nama, Jrs.Nama_Jurusan from Mahasiswa Mhs,Jurusan Jrs where Mhs.kode_jurusan = Jrs.kode_jurusan;
 
Select Mhs.NIM, Mhs.Nama, Jrs.Nama_Jurusan,
Mhs.Tempat_Lahir+’, ’+cast(Mhs.Tanggal_Lahir as varchar) AS TTL
from Mahasiswa Mhs,Jurusan Jrs
where Mhs.kode_jurusan = Jrs.kode_jurusan;
        
    
3.    UPDATE
Contoh :
Update Mahasiswa set Nama = ‘Aming Surya Praja’ where NIM =’10113025’;

 
4.    DELETE
 Contoh :
 Delete from Mahasiswa where NIM =’10113025’;
 
 
source ; http://syella-herwanto-bdl.blogspot.co.id/2011/01/bahan-2-query-ms-sql-server-transact.html