Mysql Exists

Mysql Exists return you only matches records of table 1 with table2. The
unmatchable records are not displayed in the output of the table.
Understand with Example
The Tutorial illustrate an example that create a table 'MyTable' with
required fieldnames and datatypes respectively.
Create Table MyTable:
mysql> CREATE TABLE MyTable (
-> Empid int(10),
-> Empname varchar(60)
-> Salary int(90)
-> );
Query OK, 0 rows affected (0.13 sec)
|
Insert Values into MyTable:
The insert into is used to add the records value 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(10,'Komal','20000');
Query OK, 1 row affected (0.01 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)`
|
Create Table employee:
Now we create another table 'Employee' whose fieldnames and datatypes
are specified.
mysql> CREATE TABLE Employee(
-> Empid int(10),
-> Empname varchar(60),
-> Salary int(90),
-> DOB date
-> );
Query OK, 0 rows affected (0.01 sec)
|
Insert Values into 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 for Exists
The output table shows only those empid that matches from table 'mytable' with
employee. The unmatchable records id are not displayed.
mysql> select empid from mytable where EXISTS (select empid from employee);
+-------+
| empid |
+-------+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 9 |
+-------+
8 rows in set (0.00 sec)
|

|