Skip to main content

SQL Basics Presentation

Comments

asifulla said…
hi...sir how are you? i am ASIFULLA KHAN YOUR STUDENT OF Qspiders BASANGUDI .WHERE YOU HANDELED SQL CLASS.SIR I WANT SQL SLIDE MAIL ME SIR ON asifullakhan.ssec@gmail.com.
divya said…
hi sir, i m Divya your student from q spider.i m not able to find the full presentation of SQL.Send me those sql slides to divyaramani.03@gmail.com
Mithun Ashok said…
Hi Divya/Asif,

Please find the links for all the presentations on SQL Basics.

http://www.mithunashok.com/2011/03/sql-basics-intro.html


http://www.mithunashok.com/2011/03/sql-basics-basic-select-statement.html


http://www.mithunashok.com/2011/03/sql-basics-restricting-and-sorting-data.html


http://www.mithunashok.com/2011/02/sql-basics-presentation.html

Regards,
Mithun
divya said…
hi sir ,i got placed in IBM.Thank you so much sir . Your slides and interview questions helped me a lot,Thank you sir.
Mithun Ashok said…
Hi Divya,

Thats a great news. CONGRATULATIONS!!!
Its all your hard work.

All the best for your future.

Best Regards,
Mithun
Easy..to...Understand each and every Topic in this Site....
ponsingh said…
Sir,
i got error while executing the nth maxsalary query...the query wat i executed is given below.i executed the query in sqlplus8.0....if i execute the 1st inner query its working but the 2nd one is not workin sir..find me the solution sir...

SQL> select salary from(select rownum ranking, sal salary from (select distinct(sal)
2 from emp where sal is not null order by sal desc)) where ranking = 3;
from emp where sal is not null order by sal desc)) where ranking = 3
*
ERROR at line 2:
ORA-00907: missing right parenthesis
Mithun Ashok said…
Hi Ponsing,

Max salary query works fine. Let me know the db version you are trying to execute this.

Mithun
hema said…
hi sir,
1)select length('salesman') from dual minus select length(replace('salesman','s','')) from dual
it is giving 8 as length.but it should be 2.is it not sir?my intension is to count the number of 's' es.
2)pls explain union,unionall,index,view with examples
hema said…
hi sir,
how to use rank pls explain with an example
Mithun Ashok said…
Hi Hema,

1. Do not use 'minus' clause to get the result that you are expecting. MINUS clause is used as one of the set operators check my presentation Link

To get the answer you need use arithmetic operator - instead of MINUS.



2. Refer to the same presentation above on UNION and other set operators.

An index is a performance-tuning method of allowing faster retrieval of records.

View in Oracle and in other database systems is simply the representation of a SQL statement that is stored in memory so that it can be easily reused.

CREATE VIEW emp2 as select ename,sal from emp;


3. RANK calculates the rank of a value in a group of values. The return type is NUMBER.


SELECT RANK(3000) WITHIN GROUP
(ORDER BY salary DESC) "Rank of 3000" FROM emp;
Mithun Ashok said…
Hi Hema,

1. Do not use 'minus' clause to get the result that you are expecting. MINUS clause is used as one of the set operators check my presentation Link

To get the answer you need use arithmetic operator - instead of MINUS.



2. Refer to the same presentation above on UNION and other set operators.

An index is a performance-tuning method of allowing faster retrieval of records.

View in Oracle and in other database systems is simply the representation of a SQL statement that is stored in memory so that it can be easily reused.

CREATE VIEW emp2 as select ename,sal from emp;


3. RANK calculates the rank of a value in a group of values. The return type is NUMBER.


SELECT RANK(3000) WITHIN GROUP
(ORDER BY salary DESC) "Rank of 3000" FROM emp;
hema said…
1)select length('salesman') from dual minus select length(replace('salesman','s','')) from dual
it is giving 8 as length.but it should be 2
sir i am not getting how to use arithmetic operators.pls write the query
Mithun Ashok said…
Hi Hema,

You have to write the statement as shown below below,

select length('salesman') - length(replace('salesman','s','')) from dual;

Mithun

Popular posts from this blog

SQL Interview Questions on Subqueries

SUB Queries:
1. List the employees working in research department 2. List employees who are located in New York and Chicago
3. Display the department name in which ANALYSTS are working
4. Display employees who are reporting to JONES
5. Display all the employees who are reporting to Jones Manager
6. Display all the managers in SALES and ACCOUNTING department
7. Display all the employee names in Research and Sales Department who are having at least 1 person reporting to them
8. Display all employees who do not have any reportees
9. List employees who are having at least 2 reporting
10. List the department names which are having more than 5 employees
11. List department name having at-least 3 salesman
12. List employees from research and accounting having at-least 2 reporting
13. Display second max salary
14. Display 4th max salary
15. Display 5th max salary  -- Answer for nth Max Salary
Co-Related Subqueries:
16. Write a query to get 4th max salary from EMP table
17. Write a query to get 2nd…

'Linux-x86_64 Error: 28: No space left on device' While trying to start the database -- Error

SQL> startup mount pfile='/tmp/initdlfasp12.ora'
ORA-27102: out of memory
Linux-x86_64 Error: 28: No space left on device


This as you can see is on Linux x86 with 64 bit processor. We got this error after we changed SGA on 10gR2 database. So was sure that this is something to do with the OS.

Parameters to check for this are shmall.

shmall is the total amount of shared memory, in pages, that the system can use at one time.

$cat /proc/sys/kernel/shmmax
53687091200

$ getconf PAGE_SIZE
4096

As per Oracle SHMALL should be set to the total amount of physical RAM divided by page size.

Our system has 64GB memory, so change kernel.shmall = 1024 * 1024 * 1024 * 64 / 4096 = 16777216


Once this value is calculated you can modify Linux system configuration file directly.

$ su - root
vi /etc/sysctl.conf file:
kernel.shmall=16777216

and

# sysctl -p

Once this is done the database was started without any problem.

Answers for SUB Queries

1. SQL> select empno, ename from emp where deptno=(select deptno from dept where dname='RESEARCH');


2. SQL> select empno, ename from emp where deptno in (select deptno from dept where loc in ('NEW YORK','CHICAGO'));

3. SQL> select dname from dept where deptno in ( select deptno from emp where job ='ANALYST');

4. SQL> select empno, ename, mgr from emp where mgr = (select empno from emp where ename='JONES');

5. SQL> select empno, ename, mgr from emp where mgr = (select mgr from emp where ename='JONES')

6. SQL> select empno, ename, job from emp where deptno in ( select deptno from dept where dname in ('SALES','ACCOUNTING'))

7. SQL> select empno, ename, job from emp where deptno in ( select deptno from dept where dname in ('SALES','RESEARCH')) and empno in (select mgr from emp)

8. SQL> select empno, ename from emp where empno not in ( select mgr from emp where mgr is not null)

9. select…