questions about sql server (database)

Hints

Specifies that query optimizer enforce a join strategy between two tables.

Join hints are specified in the FROM clause of a query. Join hints enforce a join strategy between two tables. If a join hint is specified for any two tables, the query optimizer automatically enforces the join order for all joined tables in the query, based on the position of the ON keywords. When a CROSS JOIN is used without the ON clause, parentheses can be used to indicate the join order.

(for more detail search hints keyword in Msdn’http://msdn.microsoft.com/en-us/library/ms187713(v=sql.100).aspx‘)

Some Query

–Select Employee name with total number of phone number.

 

Emplist(id,Name) values((1,a),(2,b),(3,c),(4,d))

Emp_phone(id,phonenumber)values((1,5454)(1,45454),(2,6767),(3,34343),(3,454545),(7,34343),(11,56565))

 

select m.name,m.id,COUNT(m_1.phone) as numphone from Emplist as m

left outer join Emp_phone as m_1 on m.id =m_1.id

group by m.name,m.id  ;

 

—-Swap the integer value without using third variable

declare @var1 integer=2;

declare @var2 int =1;

set @var1 =@var1+@var2;– 3

set @var2 =@var1-@var2 –2

set @var1 =@var1-@var2; –1

 

–set @var1 =@var2 ;

select @var1,@var2;

 

 —-Swap the string value

 

declare @var3 varchar(max)=’ram’;

declare @var4 varchar(max)=’ram1′;

declare @var5 varchar(max);

 

set @var5=@var3;–‘ram’

set @var3=@var4;–ram1

set @var4=@var5;

select @var3,@var4;

 

— IDENTITY_INSERT

Allows explicit values to be inserted into the identity column of a table.

SET IDENTITY_INSERT dbo.table1 off;

If it is off then Cannot insert explicit value for identity column in table ‘table1’ when IDENTITY_INSERT is set to OFF.but in on it is vice versa i.e. insert value in identity column.

note—for set statement detail describe in Msdn ‘http://msdn.microsoft.com/en-us/library/ms190356.aspx

–cross join or cartesian join

select * from Emp_phone cross join Emplist;

or (old system-)

select * from Emp_phone ,Emplist;

id    phone name  id

1     999   amit_1 1

1     9925  amit_1 1

3     5656  amit_1   1

3     4545  amit_1   1

5     5454  amit_1   1

5     544541 amit_1  1

6     54513 amit_1   1

11    524845 amit_1  1

1     999   st    2

1     9925  st    2

3     5656  st    2

3     4545  st    2

5     5454  st    2

5     544541      st    2

6     54513 st    2

11    524845      st    2

1     999   st1   3

1     9925  st1   3

3     5656  st1   3

3     4545  st1   3

5     5454  st1   3

5     544541      st1   3

6     54513 st1   3

11    524845      st1   3

1     999   st2   4

1     9925  st2   4

3     5656  st2   4

3     4545  st2   4

5     5454  st2   4

5     544541      st2   4

6     54513 st2   4

11    524845      st2   4

1     999   st3   5

1     9925  st3   5

3     5656  st3   5

3     4545  st3   5

5     5454  st3   5

5     544541      st3   5

6     54513 st3   5

11    524845      st3   5

1     999   mukesh      6

1     9925  mukesh      6

3     5656  mukesh      6

3     4545  mukesh      6

5     5454  mukesh      6

5     544541      mukesh      6

6     54513 mukesh      6

11    524845      mukesh      6

1     999   amit  7

1     9925  amit  7

3     5656  amit  7

3     4545  amit  7

5     5454  amit  7

5     544541      amit  7

6     54513 amit  7

11    524845      amit  7

1     999   amit7 8

1     9925  amit7 8

3     5656  amit7 8

3     4545  amit7 8

5     5454  amit7 8

5     544541      amit7 8

6     54513 amit7 8

11    524845      amit7 8

–Select for salary count more than 4999 and count zero if salary less than 4999. 

create table #tmp(eid int not null ,ename varchar(25),salary int  ,depid varchar(25) );

insert into #tmp values  (22 ,‘shyam’,3000,‘d5’),( 23 ,‘mohan’, 5500   ,‘d6’    ),(44 ,‘radha’,  8000 ,  ‘d33’   ),(48 ,‘abhi’  , 1000  ,‘d9’);

select *from #tmp

select depid,  COUNT(casewhen salary >4999 then 1 end)as Tcount from #tmp groupby depid

Difference between Sql server 2000 and 2005
   Untitled                    

Difference between Sql server 2005 and 2008

Untitled

11. SSIS is started using.                                            K. SSIS avails in this version

Leave a Reply