这些查询中...表的差异是什么
我在这里使用表别名,我相信没有错
------------------------ Tables -------------------
mysql> select * from college;
+----------+-------+------------+
| cName | state | enrollment |
+----------+-------+------------+
| Stanford | CA | 15000 |
| Berkeley | CA | 36000 |
| MIT | MA | 10000 |
| Cornell | NY | 21000 |
+----------+-------+------------+
4 rows in set (0.00 sec)
mysql> select * from apply;
+-----+----------+----------------+----------+
| sID | cName | major | decision |
+-----+----------+----------------+----------+
| 123 | Berkeley | CS | Y |
| 123 | Cornell | EE | Y |
| 123 | Stanford | CS | Y |
| 123 | Stanford | EE | N |
| 234 | Berkeley | biology | N |
| 345 | Cornell | bioengineering | N |
| 345 | Cornell | CS | Y |
| 345 | Cornell | EE | N |
| 345 | MIT | bioengineering | Y |
| 543 | MIT | CS | N |
| 678 | Stanford | history | Y |
| 765 | Cornell | history | N |
| 765 | Cornell | psychology | Y |
| 765 | Stanford | history | Y |
| 876 | MIT | biology | Y |
| 876 | MIT | marine biology | N |
| 876 | Stanford | CS | N |
| 987 | Berkeley | CS | Y |
| 987 | Stanford | CS | Y |
+-----+----------+----------------+----------+
19 rows in set (0.00 sec)
----------------- 2几乎相同的查询:但有所不同。输出-----------------
mysql> Select c.cname from College c,Apply a where c.cname=a.cname and enrollment > 20000 and major='CS';
+---------+
| cname |
+---------+
| Cornell |
+---------+
1 row in set (0.00 sec)
----------------------> only One row
mysql>
mysql> select college.cname from college,apply where college.cname = apply.cname and enrollment > 20000 and major = 'CS';
+----------+
| cname |
+----------+
| Berkeley |
| Cornell |
| Berkeley |
+----------+
3 rows in set (0.00 sec)
WHILE -------------------------> three rows
答案 0 :(得分:1)
您有2个不同的表College和College,因此您将获得不同的输出。 如果您使用大学而不是大学,那么您将获得相同的输出。
答案 1 :(得分:0)
这两个查询使用的表完全不同。
在MySQL中,标识符区分大小写。这意味着表ContentStore
与表College
不同。