在mysql中建立下面两张表(stu和user)
+------+----------+
| id | name |
+------+----------+
| 1 | baidu |
| 2 | baidu |
| 1 | shanghai |
+------+-------
+------+----------+
| id | name |
+------+----------+
| 1 | baidu |
| 2 | baidu |
| 1 | shanghai |
+------+----------+
使用下面的sql语句进行查询:
select a.id,a.name,b.id,b.name from stu a,user b where a.id=b.id group by a.id;
得到如下结果:
+------+-------+------+--------+
| id | name | id | name |
+------+-------+------+--------+
| 1 | baidu | 1 | google |
| 2 | baidu | 2 | tianya |
+------+-------+------+--------+
这是意料中的,但是在sysbase中却得到如下结果:
id name id name
1 baidu 1 google
1 baidu 2 tianya
2 baidu 1 google
2 baidu 2 tianya
这是不想得到的结果,为了得到如同mysql的结果,可以修改sql语句为:
select a.id,a.name,b.id,b.name from stu a,suer b group by a.id having a.id=b.id order by a.id
加了having语句,并且having可以用and限制多个条件
例如 group by 字段 having 条件1 and 条件2.