Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>This is a very fabulous method of query as whenever you got stuck in a condition such that you want to manipulate in a table by comparing itself from a record of same table.</p> <p>The USING keyword can use a list of columns that appear in both tables and is equivalent to saying C.ID = O.ID AND S.ID = O.ID.</p> <pre><code> mysql&gt; mysql&gt; CREATE TABLE Employee( -&gt; id int, -&gt; first_name VARCHAR(15), -&gt; last_name VARCHAR(15), -&gt; start_date DATE, -&gt; end_date DATE, -&gt; salary FLOAT(8,2), -&gt; city VARCHAR(10), -&gt; description VARCHAR(15) -&gt; ); Query OK, 0 rows affected (0.01 sec) mysql&gt; mysql&gt; create table job ( -&gt; id int, -&gt; title VARCHAR(20) -&gt; ); Query OK, 0 rows affected (0.01 sec) mysql&gt; mysql&gt; insert into Employee(id,first_name, last_name, start_date, end_Date, salary, City, Description) -&gt; values (1,'Jason', 'Martin', '19960725', '20060725', 1234.56, 'Toronto', 'Programmer'); Query OK, 1 row affected (0.02 sec) mysql&gt; mysql&gt; insert into Employee(id,first_name, last_name, start_date, end_Date, salary, City, Description) -&gt; values(2,'Alison', 'Mathews', '19760321', '19860221', 6661.78, 'Vancouver','Tester'); Query OK, 1 row affected (0.00 sec) mysql&gt; mysql&gt; insert into Employee(id,first_name, last_name, start_date, end_Date, salary, City, Description) -&gt; values(3,'James', 'Smith', '19781212', '19900315', 6544.78, 'Vancouver','Tester'); Query OK, 1 row affected (0.00 sec) mysql&gt; mysql&gt; insert into Employee(id,first_name, last_name, start_date, end_Date, salary, City, Description) -&gt; values(4,'Celia', 'Rice', '19821024', '19990421', 2344.78, 'Vancouver','Manager'); Query OK, 1 row affected (0.00 sec) mysql&gt; mysql&gt; insert into Employee(id,first_name, last_name, start_date, end_Date, salary, City, Description) -&gt; values(5,'Robert', 'Black', '19840115', '19980808', 2334.78, 'Vancouver','Tester'); Query OK, 1 row affected (0.00 sec) mysql&gt; mysql&gt; insert into Employee(id,first_name, last_name, start_date, end_Date, salary, City, Description) -&gt; values(6,'Linda', 'Green', '19870730', '19960104', 4322.78,'New York', 'Tester'); Query OK, 1 row affected (0.00 sec) mysql&gt; mysql&gt; insert into Employee(id,first_name, last_name, start_date, end_Date, salary, City, Description) -&gt; values(7,'David', 'Larry', '19901231', '19980212', 7897.78,'New York', 'Manager'); Query OK, 1 row affected (0.02 sec) mysql&gt; mysql&gt; insert into Employee(id,first_name, last_name, start_date, end_Date, salary, City, Description) -&gt; values(8,'James', 'Cat', '19960917', '20020415', 1232.78,'Vancouver', 'Tester'); Query OK, 1 row affected (0.00 sec) mysql&gt; mysql&gt; insert into job (id, title) values (1,'Tester'); Query OK, 1 row affected (0.01 sec) mysql&gt; insert into job (id, title) values (2,'Accountant'); Query OK, 1 row affected (0.00 sec) mysql&gt; insert into job (id, title) values (3,'Developer'); Query OK, 1 row affected (0.00 sec) mysql&gt; insert into job (id, title) values (4,'Coder'); Query OK, 1 row affected (0.00 sec) mysql&gt; insert into job (id, title) values (5,'Director'); Query OK, 1 row affected (0.00 sec) mysql&gt; insert into job (id, title) values (6,'Mediator'); Query OK, 1 row affected (0.00 sec) mysql&gt; insert into job (id, title) values (7,'Proffessor'); Query OK, 1 row affected (0.00 sec) mysql&gt; insert into job (id, title) values (8,'Programmer'); Query OK, 1 row affected (0.01 sec) mysql&gt; insert into job (id, title) values (9,'Developer'); Query OK, 1 row affected (0.00 sec) mysql&gt; mysql&gt; select * from job; +------+------------+ | id | title | +------+------------+ | 1 | Tester | | 2 | Accountant | | 3 | Developer | | 4 | Coder | | 5 | Director | | 6 | Mediator | | 7 | Proffessor | | 8 | Programmer | | 9 | Developer | +------+------------+ 9 rows in set (0.00 sec) mysql&gt; select * from Employee; +------+------------+-----------+------------+------------+---------+-----------+-------------+ | id | first_name | last_name | start_date | end_date | salary | city | description | +------+------------+-----------+------------+------------+---------+-----------+-------------+ | 1 | Jason | Martin | 1996-07-25 | 2006-07-25 | 1234.56 | Toronto | Programmer | | 2 | Alison | Mathews | 1976-03-21 | 1986-02-21 | 6661.78 | Vancouver | Tester | | 3 | James | Smith | 1978-12-12 | 1990-03-15 | 6544.78 | Vancouver | Tester | | 4 | Celia | Rice | 1982-10-24 | 1999-04-21 | 2344.78 | Vancouver | Manager | | 5 | Robert | Black | 1984-01-15 | 1998-08-08 | 2334.78 | Vancouver | Tester | | 6 | Linda | Green | 1987-07-30 | 1996-01-04 | 4322.78 | New York | Tester | | 7 | David | Larry | 1990-12-31 | 1998-02-12 | 7897.78 | New York | Manager | | 8 | James | Cat | 1996-09-17 | 2002-04-15 | 1232.78 | Vancouver | Tester | +------+------------+-----------+------------+------------+---------+-----------+-------------+ 8 rows in set (0.00 sec) mysql&gt; mysql&gt; mysql&gt; The syntax looks like the following: mysql&gt; mysql&gt; SELECT C.First_Name, C.Last_Name, O.title -&gt; FROM Employee AS C -&gt; LEFT JOIN job as O USING (ID); +------------+-----------+------------+ | First_Name | Last_Name | title | +------------+-----------+------------+ | Jason | Martin | Tester | | Alison | Mathews | Accountant | | James | Smith | Developer | | Celia | Rice | Coder | | Robert | Black | Director | | Linda | Green | Mediator | | David | Larry | Proffessor | | James | Cat | Programmer | +------------+-----------+------------+ 8 rows in set (0.00 sec) mysql&gt; mysql&gt; mysql&gt; mysql&gt; drop table job; Query OK, 0 rows affected (0.00 sec) mysql&gt; drop table Employee; Query OK, 0 rows affected (0.01 sec) mysql&gt; mysql&gt; In this example, the USING keyword would be like using the ON keyword with C.ID = O.ID following it. This is another shortcut to save time. mysql&gt; </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload