Skip to main content

SQL Basics: Join

Comments

Monalisa Singh said…
Hello sir,
In this query,
select e.empno,e.ename,d.loc from emp e join dept d ON(e.deptno=d.deptno);

Here wat is the use of 'ON' clause, sir???

Mona
Monalisa Singh said…
wats r the queries 4 these questions sir:-

Q1.List the employees whose 10% of salary is equal to year of joining.

Q2.List the Mgrs who r senior to King & who are junior to Smith.
Mithun Ashok said…
Hi Mona,

On Caluse is used to,

1. To specify arbitrary conditions or specify columns to join.
2. The join condition is separated from other search conditions.
3. The ON clause makes code easy to understand.

Regards,
Mithun
Mithun Ashok said…
Hi Mona,

1. select ename, sal, trunc(10*sal/100), hiredate,to_char(hiredate,'YY') from emp where trunc(10*sal/100) = to_char(hiredate,'YY');

2. select ename, hiredate from emp where hiredate > (select hiredate from emp where ename='KING')
and hiredate < (select hiredate from emp where ename='SMITH');

This will not return any rows as there are no employees in this category, if you say any employee junior to KING and senior to SMITH then you will see some rows. Query for this is as below,

select ename, hiredate from emp where hiredate < (select hiredate from emp where ename='KING')
and hiredate > (select hiredate from emp where ename='SMITH');


Regards,
Mithun
Monalisa Singh said…
Hello sir,

Thank u so much sir, i easily understood those queries but m stil confused wid this 'ON' clause.
So can u plz help me out sir.


Mona
Anonymous said…
Sir,
Can I follow the same procedure to install 11g in Windows 7, as the video shown for 10g installation?Is there any other method to uninstall 11g?
Mithun Ashok said…
Hi Mona,

ON in Join is ANSI syntax, using this syntax you can do both equijoin as well as non equijoin's.

Here you will join 2 tables like,

select * from emp e join dept d
on (here you will mention the condition using which the tables are joined like e.deptno = d.deptno).

Hope this helps.

Regards,
Mithun
Mithun Ashok said…
Hi Anonymous,

You can follow the same process to install 11g it is similar to 10g install.


To uninstall, refer to my videos on uninstalling oracle database.

Regards,
Mithun
akash kumar said…
Sir,
This is Akash Kumar(Scientist) Sir Can you send
me the Questions Generally asked in interviews (Along with Questions You
asked in the class about basic select,functions,joins,
subquery etc..)


akash22121988@gmail.com
sagar patra said…
I m so much happy learning SQL within this short period and with such easiest way.....so much thankful Mr.Mithun Ashok..but facing little difficult on joins ...
Anonymous said…
hi sir, can u post the ppt on co-related subqueries,
pls
Sindhu k.m said…
sir,in my system i am getting only 4 tables how can i get more tables that u showed in the class can u please tell me sir .....
chandan singh said…
Sir,when I give like the statament
Select* from emp where rownum =10;
Its show error
But when we gve the statment like
Select * from emp where rownum <=3;
Then it gve some result... why sir
chandan singh said…
Email id chandan.singh900@gmail.com.
Mithun Ck said…
hi sir its me mithun. one of your student.

actually I got job on business intelligence. In this they are teaching like dbms, etl, datawarehouse, reporting, business intelligence and congous tool..is it good to work on this..did i have good future in this.



waiting for your reply



thank you
thrupthi a said…
This comment has been removed by the author.

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…