Ինչպե՞ս կարող եմ տվյալներ ընտրել միայն մեկ աղյուսակից, որտեղ այդ աղյուսակի սյունակների արժեքները համընկնում են MySQL-ի մեկ այլ աղյուսակի սյունակների արժեքների հետ:
Դրա համար դուք կարող եք օգտագործել ենթահարկը EXISTS-ի հետ միասին: Եկեք նախ ստեղծենք աղյուսակ.
mysql> create table DemoTable1
-> (
-> Id int,
-> SubjectName varchar(20)
-> );
Query OK, 0 rows affected (0.58 sec)
Տեղադրեք որոշ գրառումներ աղյուսակում՝ օգտագործելով insert հրամանը.
mysql> insert into DemoTable1 values(111,'MySQL');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable1 values(112,'MongoDB');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable1 values(113,'Java');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable1 values(114,'C');
Query OK, 1 row affected (0.27 sec)
mysql> insert into DemoTable1 values(115,'MySQL');
Query OK, 1 row affected (0.23 sec)
Ցուցադրել բոլոր գրառումները աղյուսակից՝ օգտագործելով select հայտարարությունը.
mysql> select * from DemoTable1;
Սա կստեղծի հետևյալ արդյունքը.
+------+-------------+
| Id | SubjectName |
+------+-------------+
| 111 | MySQL |
| 112 | MongoDB |
| 113 | Java |
| 114 | C |
| 115 | MySQL |
+------+-------------+
5 rows in set (0.00 sec)
Ահա երկրորդ աղյուսակը ստեղծելու հարցումը.
mysql> create table DemoTable2
-> (
-> FirstName varchar(20),
-> StudentSubject varchar(20)
-> );
Query OK, 0 rows affected (0.73 sec)
Տեղադրեք որոշ գրառումներ աղյուսակում՝ օգտագործելով insert հրամանը.
mysql> insert into DemoTable2 values('Chris','MySQL');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable2 values('Bob','MySQL');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable2 values('Sam','MySQL');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable2 values('Carol','C');
Query OK, 1 row affected (0.19 sec)
Ցուցադրել բոլոր գրառումները աղյուսակից՝ օգտագործելով select հայտարարությունը.
mysql> select * from DemoTable2;
Սա կստեղծի հետևյալ արդյունքը.
+-----------+----------------+
| FirstName | StudentSubject |
+-----------+----------------+
| Chris | MySQL |
| Bob | MySQL |
| Sam | MySQL |
| Carol | C |
+-----------+----------------+
4 rows in set (0.00 sec)
Ահա մի աղյուսակից տվյալներ ընտրելու հարցումը միայն այն դեպքում, երբ այդ աղյուսակի սյունակների արժեքները համընկնում են մեկ այլ աղյուսակի սյունակների արժեքների հետ.
mysql> select Id from DemoTable1
-> where exists
-> (
-> select 1 from DemoTable2
-> where SubjectName=StudentSubject
-> );
Սա կստեղծի հետևյալ արդյունքը.
+------+
| Id |
+------+
| 111 |
| 114 |
| 115 |
+------+
3 rows in set (0.00 sec)