Mysql Nested Select is a SELECT query that is nested within a Select, Update, Insert or Delete SQL query.
Understand with Example:
The Tutorial illustrate an example from 'MySQL Nested Select'. To understand and elaborate example we create a table 'MyTable' that has the required fieldnames and datatypes respectively.
Query for creating table:
mysql> CREATE TABLE MyTable (
-> Empid int(10),
-> Empname varchar(60)
-> Salary int(90)
-> );
Query OK, 0 rows affected (0.13 sec)
|
Query for inserting data in table:
The Query insert into adds the records to the table 'MyTable'.
mysql> insert into MyTable values(01,'Girish','20000'); Query OK, 1 row affected (0.02 sec) mysql> insert into MyTable values(02,'A','21000'); Query OK, 1 row affected (0.01 sec) mysql> insert into MyTable values(03,'C','22000'); Query OK, 1 row affected (0.00 sec) mysql> insert into MyTable values(04,'V','23000'); Query OK, 1 row affected (0.00 sec) mysql> insert into MyTable values(05,'B','24000'); Query OK, 1 row affected (0.00 sec) mysql> insert into MyTable values(06,'E','25000'); Query OK, 1 row affected (0.00 sec) mysql> insert into MyTable values(07,'Q','26000'); Query OK, 1 row affected (0.01 sec) mysql> insert into MyTable values(08,'W','27000'); Query OK, 1 row affected (0.01 sec) mysql> insert into MyTable values(09,'AS','28000'); Query OK, 1 row affected (0.00 sec)` |
Query to view data inserted in table:
The Query is used to return the detail of the records from table 'mytable'.
mysql> select * from mytable; +-------+---------+--------+ | Empid | Empname | Salary | +-------+---------+--------+ | 1 | Girish | 20000 | | 2 | A | 21000 | | 3 | C | 22000 | | 4 | V | 23000 | | 5 | B | 24000 | | 6 | E | 25000 | | 7 | Q | 26000 | | 8 | W | 27000 | | 9 | AS | 28000 | +-------+---------+--------+ 9 rows in set (0.01 sec) |
Query for creating table name Employee:
We create another table 'Employee' that has the required fieldnames and datatypes respectively.
mysql> CREATE TABLE Employee(
-> Empid int(10),
-> Empname varchar(60),
-> Salary int(90),
-> DOB date
-> );
Query OK, 0 rows affected (0.01 sec)
|
Query for insertion of data in table:
The Query insert into adds the records or rows to the table 'Employee'.
mysql> INSERT INTO Employee (Empid,Empname,Salary,DOB) VALUES
-> (01,'Habib',2014,20041202),
-> (02,'Karan',4021,20030411),
-> (03,'Samia', 22,20080223),
-> (04,'Hui Ling', 25,20081015),
-> (05,'Yumie', 29,19990126);
Query OK, 5 rows affected (0.00 sec)
Records: 5 Duplicates: 0 Warnings: 0
|
Query to view data inserted in table:
mysql> select * from employee; |
Output:
+-------+----------+--------+------------+ | Empid | Empname | Salary | DOB | +-------+----------+--------+------------+ | 1 | Habib | 2014 | 2004-12-02 | | 2 | Karan | 4021 | 2003-04-11 | | 3 | Samia | 22 | 2008-02-23 | | 4 | Hui Ling | 25 | 2008-10-15 | | 5 | Yumie | 29 | 1999-01-26 | +-------+----------+--------+------------+ 5 rows in set (0.00 sec) |
Query for Mysql nested select:
The Nested Query is used to return those records from 'mytable' which are nested select query of table employee in the Where Clause.
mysql> SELECT * FROM mytable WHERE Empid in(SELECT Empid FROM employee); |
Output:-
+-------+---------+--------+ | Empid | Empname | Salary | +-------+---------+--------+ | 1 | Girish | 20000 | | 2 | A | 21000 | | 3 | C | 22000 | | 4 | V | 23000 | | 5 | B | 24000 | +-------+---------+--------+ 5 rows in set (0.00 sec) |
If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.
Ask your questions, our development team will try to give answers to your questions.
Ask Questions? Discuss: Mysql Nested Select
Post your Comment