26hibernate_hql
hibernate查询语言hql
在hql中关键字不区分大小写,但是属性和类名区分大小写
1、简单属性查询【重要】
* 单一属性查询,返回结果集属性列表,元素类型和实体类中相应的属性类型一致
* 多个属性查询,返回的集合元素是对象数组,数组元素的类型和对应的属性在实体类中的类型一致
数组的长度取决与select中属性的个数
* 如果认为返回数组不够对象化,可以采用hql动态实例化Student对象
参见:A_SimplePropertyQueryTest.java
2、实体对象查询【重要】
* N + 1问题,在默认情况下,使用query.iterate查询,有可以能出现N+1问题
所谓的N+1是在查询的时候发出了N+1条sql语句
1: 首先发出一条查询对象id列表的sql
N: 根据id列表到缓存中查询,如果缓存中不存在与之匹配的数据,那么会根据id发出相应的sql语句
* list和iterate的区别?
* list每次都会发出sql语句,list会向缓存中放入数据,但是在默认情况下它不会利用缓存中数据,除非配置查询缓存
* iterate:在默认情况下iterate利用缓存数据,但如果缓存中不存在数据有可以能出现N+1问题
参见:B_SimpleObjectQueryTest1.java/C_SimpleObjectQueryTest2.java
3、条件查询【重要】
* 可以采用拼字符串的方式传递参数
* 可以采用 ?来传递参数(索引从0开始)
* 可以采用 :参数名 来传递参数
* 如果传递多个参数,可以采用setParamterList方法
* 在hql中可以使用数据库的函数,如:date_format
参见:D_SimpleConditionQueryTest.java
4、hibernate也支持直接使用sql进行查询
参见:E_SqlQueryTest.java
5、外置命名查询:Externalizing named queries[说白了,就是使用XML]
* 在映射文件xml中采用<query>标签来定义hql
例如:
<query name="searchStudents">
<![CDATA[
SELECT s FROM Student s where s.id<?
]]>
</query>
* 在程序中采用session.getNamedQuery()方法得到hql查询串
参见:Student.hbm.xml、F_NameQueryTest.java
6、查询过滤器
* 在映射文件中定义过滤器参数
<filter-def name="filtertest">
<filter-param name="myid" type="integer"/>
</filter-def>
* 在类的映射中使用这些参数
<filter name="filtertest" condition="id < :myid"/>
* 在程序中启用过滤器
session.enableFilter("filtertest").setParameter("myid", 10);
参见:Student.hbm.xml、G_FilterQueryTest.java
7、分页查询【重要】
* setFirstResult(),从0开始
* setMaxResults,每页显示多少条数据
参见:H_PageQueryTest.java
8、对象导航查询,在hql中采用 . 进行导航【重要】
参见:I_ObjectNavQueryTest.java
9、连接查询【重要】
* 内连
* 外连接(左连接/右连接)
参见:J_JoinQueryTest.java
10、统计查询【重要】
参见:K_StatQueryTest.java
11、DML风格的操作(尽量少用,因为和缓存不同步)
参见:L_DMLQueryTest.java
-------------------------------------------------------------------------------------------------
ExportDB:
create table t_classes (id integer not null auto_increment, name varchar(255), primary key (id))
create table t_student (id integer not null auto_increment, name varchar(255), createTime datetime, classesid integer, primary key (id))
alter table t_student add index FK4B9075708EBC77F7 (classesid), add constraint FK4B9075708EBC77F7 foreign key (classesid) references t_classes (id)
InitData:
有学生的班级:
Hibernate: insert into t_classes (name) values (?)
有班级的学生:
Hibernate: insert into t_student (name, createTime, classesid) values (?, ?, ?)
无学生的班级:5个
Hibernate: insert into t_classes (name) values (?)
无班级的学生:10个
Hibernate: insert into t_student (name, createTime, classesid) values (?, ?, ?)
mysql> create database 26hibernate_hql;
Query OK, 1 row affected (0.05 sec)
mysql> use 26hibernate_hql;
Database changed
mysql> show tables;
+---------------------------+
| Tables_in_26hibernate_hql |
+---------------------------+
| t_classes |
| t_student |
+---------------------------+
2 rows in set (0.00 sec)
mysql> select * from t_classes;
+----+---------------+
| id | name |
+----+---------------+
| 1 | 班级0 |
| 2 | 班级1 |
| 3 | 班级2 |
| 4 | 班级3 |
| 5 | 班级4 |
| 6 | 班级5 |
| 7 | 班级6 |
| 8 | 班级7 |
| 9 | 班级8 |
| 10 | 班级9 |
| 11 | 无学生的班级0 |
| 12 | 无学生的班级1 |
| 13 | 无学生的班级2 |
| 14 | 无学生的班级3 |
| 15 | 无学生的班级4 |
+----+---------------+
15 rows in set (0.00 sec)
mysql> select * from t_student;
+-----+---------------+---------------------+-----------+
| id | name | createTime | classesid |
+-----+---------------+---------------------+-----------+
| 1 | 班级0的学生0 | 2012-03-11 06:27:13 | 1 |
| 2 | 班级0的学生1 | 2012-06-05 19:02:55 | 1 |
| 3 | 班级0的学生2 | 2012-04-12 19:23:03 | 1 |
| 4 | 班级0的学生3 | 2012-08-22 17:50:26 | 1 |
| 5 | 班级0的学生4 | 2012-09-11 01:34:35 | 1 |
| 6 | 班级0的学生5 | 2012-12-03 02:19:54 | 1 |
| 7 | 班级0的学生6 | 2012-06-15 00:26:49 | 1 |
| 8 | 班级0的学生7 | 2012-04-30 09:04:07 | 1 |
| 9 | 班级0的学生8 | 2012-03-05 06:07:14 | 1 |
| 10 | 班级0的学生9 | 2012-12-03 17:20:55 | 1 |
| 11 | 班级1的学生0 | 2012-09-13 07:19:14 | 2 |
| 12 | 班级1的学生1 | 2012-06-19 03:38:02 | 2 |
| 13 | 班级1的学生2 | 2012-03-11 14:00:22 | 2 |
| 14 | 班级1的学生3 | 2012-07-12 01:09:07 | 2 |
| 15 | 班级1的学生4 | 2012-06-26 08:14:46 | 2 |
| 16 | 班级1的学生5 | 2012-02-28 12:01:36 | 2 |
| 17 | 班级1的学生6 | 2012-12-04 04:22:17 | 2 |
| 18 | 班级1的学生7 | 2012-06-03 15:38:38 | 2 |
| 19 | 班级1的学生8 | 2012-04-17 12:25:18 | 2 |
| 20 | 班级1的学生9 | 2012-08-04 06:27:24 | 2 |
| 21 | 班级2的学生0 | 2012-06-20 12:20:52 | 3 |
| 22 | 班级2的学生1 | 2012-04-22 09:06:25 | 3 |
| 23 | 班级2的学生2 | 2012-01-20 18:50:58 | 3 |
| 24 | 班级2的学生3 | 2012-03-13 17:00:23 | 3 |
| 25 | 班级2的学生4 | 2012-07-04 19:54:41 | 3 |
| 26 | 班级2的学生5 | 2012-04-06 17:05:33 | 3 |
| 27 | 班级2的学生6 | 2012-07-22 05:17:24 | 3 |
| 28 | 班级2的学生7 | 2012-07-25 03:35:08 | 3 |
| 29 | 班级2的学生8 | 2012-07-22 12:59:25 | 3 |
| 30 | 班级2的学生9 | 2012-05-22 00:39:39 | 3 |
| 31 | 班级3的学生0 | 2012-07-04 16:04:13 | 4 |
| 32 | 班级3的学生1 | 2012-04-16 15:58:54 | 4 |
| 33 | 班级3的学生2 | 2012-10-23 06:19:46 | 4 |
| 34 | 班级3的学生3 | 2012-01-05 22:14:47 | 4 |
| 35 | 班级3的学生4 | 2012-05-16 22:12:28 | 4 |
| 36 | 班级3的学生5 | 2012-01-06 22:56:50 | 4 |
| 37 | 班级3的学生6 | 2012-03-17 01:42:42 | 4 |
| 38 | 班级3的学生7 | 2012-11-13 04:26:54 | 4 |
| 39 | 班级3的学生8 | 2012-12-04 18:45:41 | 4 |
| 40 | 班级3的学生9 | 2012-01-10 18:39:50 | 4 |
| 41 | 班级4的学生0 | 2012-06-15 21:57:48 | 5 |
| 42 | 班级4的学生1 | 2012-05-19 00:48:20 | 5 |
| 43 | 班级4的学生2 | 2012-04-17 08:32:47 | 5 |
| 44 | 班级4的学生3 | 2012-09-03 17:03:47 | 5 |
| 45 | 班级4的学生4 | 2012-08-27 00:45:46 | 5 |
| 46 | 班级4的学生5 | 2012-02-05 10:09:28 | 5 |
| 47 | 班级4的学生6 | 2012-05-04 02:18:00 | 5 |
| 48 | 班级4的学生7 | 2012-11-09 17:24:02 | 5 |
| 49 | 班级4的学生8 | 2012-08-03 14:36:07 | 5 |
| 50 | 班级4的学生9 | 2012-12-06 15:27:28 | 5 |
| 51 | 班级5的学生0 | 2012-06-08 23:05:59 | 6 |
| 52 | 班级5的学生1 | 2012-05-19 00:06:25 | 6 |
| 53 | 班级5的学生2 | 2012-01-02 22:20:25 | 6 |
| 54 | 班级5的学生3 | 2012-07-09 03:54:58 | 6 |
| 55 | 班级5的学生4 | 2012-01-03 09:17:51 | 6 |
| 56 | 班级5的学生5 | 2012-12-06 18:21:15 | 6 |
| 57 | 班级5的学生6 | 2012-11-13 17:37:31 | 6 |
| 58 | 班级5的学生7 | 2012-06-11 20:09:11 | 6 |
| 59 | 班级5的学生8 | 2012-09-23 17:26:31 | 6 |
| 60 | 班级5的学生9 | 2012-10-09 07:55:00 | 6 |
| 61 | 班级6的学生0 | 2012-03-24 12:02:23 | 7 |
| 62 | 班级6的学生1 | 2012-07-30 17:31:58 | 7 |
| 63 | 班级6的学生2 | 2012-01-19 02:37:31 | 7 |
| 64 | 班级6的学生3 | 2012-11-19 13:48:21 | 7 |
| 65 | 班级6的学生4 | 2012-04-01 00:10:16 | 7 |
| 66 | 班级6的学生5 | 2012-01-08 13:08:56 | 7 |
| 67 | 班级6的学生6 | 2012-04-20 18:23:49 | 7 |
| 68 | 班级6的学生7 | 2012-08-09 22:48:17 | 7 |
| 69 | 班级6的学生8 | 2012-12-08 11:53:10 | 7 |
| 70 | 班级6的学生9 | 2012-05-20 10:56:13 | 7 |
| 71 | 班级7的学生0 | 2012-12-06 03:51:13 | 8 |
| 72 | 班级7的学生1 | 2012-03-13 16:25:59 | 8 |
| 73 | 班级7的学生2 | 2012-05-16 11:55:36 | 8 |
| 74 | 班级7的学生3 | 2012-04-28 07:10:35 | 8 |
| 75 | 班级7的学生4 | 2012-03-29 11:43:08 | 8 |
| 76 | 班级7的学生5 | 2012-11-03 11:00:37 | 8 |
| 77 | 班级7的学生6 | 2012-06-05 10:31:59 | 8 |
| 78 | 班级7的学生7 | 2012-03-03 13:09:27 | 8 |
| 79 | 班级7的学生8 | 2012-07-25 10:11:43 | 8 |
| 80 | 班级7的学生9 | 2012-11-19 18:23:54 | 8 |
| 81 | 班级8的学生0 | 2012-09-07 21:08:01 | 9 |
| 82 | 班级8的学生1 | 2012-07-26 05:04:10 | 9 |
| 83 | 班级8的学生2 | 2012-01-24 07:04:23 | 9 |
| 84 | 班级8的学生3 | 2012-12-09 10:38:13 | 9 |
| 85 | 班级8的学生4 | 2012-09-03 10:13:29 | 9 |
| 86 | 班级8的学生5 | 2012-10-07 17:11:09 | 9 |
| 87 | 班级8的学生6 | 2012-01-25 05:02:55 | 9 |
| 88 | 班级8的学生7 | 2012-08-01 08:05:51 | 9 |
| 89 | 班级8的学生8 | 2012-07-25 02:24:23 | 9 |
| 90 | 班级8的学生9 | 2012-02-01 07:11:50 | 9 |
| 91 | 班级9的学生0 | 2012-07-25 02:24:48 | 10 |
| 92 | 班级9的学生1 | 2012-01-24 21:55:15 | 10 |
| 93 | 班级9的学生2 | 2012-04-02 06:06:57 | 10 |
| 94 | 班级9的学生3 | 2012-07-26 18:03:59 | 10 |
| 95 | 班级9的学生4 | 2012-06-03 23:13:57 | 10 |
| 96 | 班级9的学生5 | 2012-04-27 15:24:25 | 10 |
| 97 | 班级9的学生6 | 2012-01-24 20:57:02 | 10 |
| 98 | 班级9的学生7 | 2012-08-17 11:02:59 | 10 |
| 99 | 班级9的学生8 | 2012-12-10 03:51:00 | 10 |
| 100 | 班级9的学生9 | 2012-01-29 09:40:15 | 10 |
| 101 | 无班级的学生0 | NULL | NULL |
| 102 | 无班级的学生1 | NULL | NULL |
| 103 | 无班级的学生2 | NULL | NULL |
| 104 | 无班级的学生3 | NULL | NULL |
| 105 | 无班级的学生4 | NULL | NULL |
| 106 | 无班级的学生5 | NULL | NULL |
| 107 | 无班级的学生6 | NULL | NULL |
| 108 | 无班级的学生7 | NULL | NULL |
| 109 | 无班级的学生8 | NULL | NULL |
| 110 | 无班级的学生9 | NULL | NULL |
+-----+---------------+---------------------+-----------+
110 rows in set (0.05 sec)
在hql中关键字不区分大小写,但是属性和类名区分大小写
1、简单属性查询【重要】
* 单一属性查询,返回结果集属性列表,元素类型和实体类中相应的属性类型一致
* 多个属性查询,返回的集合元素是对象数组,数组元素的类型和对应的属性在实体类中的类型一致
数组的长度取决与select中属性的个数
* 如果认为返回数组不够对象化,可以采用hql动态实例化Student对象
参见:A_SimplePropertyQueryTest.java
2、实体对象查询【重要】
* N + 1问题,在默认情况下,使用query.iterate查询,有可以能出现N+1问题
所谓的N+1是在查询的时候发出了N+1条sql语句
1: 首先发出一条查询对象id列表的sql
N: 根据id列表到缓存中查询,如果缓存中不存在与之匹配的数据,那么会根据id发出相应的sql语句
* list和iterate的区别?
* list每次都会发出sql语句,list会向缓存中放入数据,但是在默认情况下它不会利用缓存中数据,除非配置查询缓存
* iterate:在默认情况下iterate利用缓存数据,但如果缓存中不存在数据有可以能出现N+1问题
参见:B_SimpleObjectQueryTest1.java/C_SimpleObjectQueryTest2.java
3、条件查询【重要】
* 可以采用拼字符串的方式传递参数
* 可以采用 ?来传递参数(索引从0开始)
* 可以采用 :参数名 来传递参数
* 如果传递多个参数,可以采用setParamterList方法
* 在hql中可以使用数据库的函数,如:date_format
参见:D_SimpleConditionQueryTest.java
4、hibernate也支持直接使用sql进行查询
参见:E_SqlQueryTest.java
5、外置命名查询:Externalizing named queries[说白了,就是使用XML]
* 在映射文件xml中采用<query>标签来定义hql
例如:
<query name="searchStudents">
<![CDATA[
SELECT s FROM Student s where s.id<?
]]>
</query>
* 在程序中采用session.getNamedQuery()方法得到hql查询串
参见:Student.hbm.xml、F_NameQueryTest.java
6、查询过滤器
* 在映射文件中定义过滤器参数
<filter-def name="filtertest">
<filter-param name="myid" type="integer"/>
</filter-def>
* 在类的映射中使用这些参数
<filter name="filtertest" condition="id < :myid"/>
* 在程序中启用过滤器
session.enableFilter("filtertest").setParameter("myid", 10);
参见:Student.hbm.xml、G_FilterQueryTest.java
7、分页查询【重要】
* setFirstResult(),从0开始
* setMaxResults,每页显示多少条数据
参见:H_PageQueryTest.java
8、对象导航查询,在hql中采用 . 进行导航【重要】
参见:I_ObjectNavQueryTest.java
9、连接查询【重要】
* 内连
* 外连接(左连接/右连接)
参见:J_JoinQueryTest.java
10、统计查询【重要】
参见:K_StatQueryTest.java
11、DML风格的操作(尽量少用,因为和缓存不同步)
参见:L_DMLQueryTest.java
-------------------------------------------------------------------------------------------------
ExportDB:
create table t_classes (id integer not null auto_increment, name varchar(255), primary key (id))
create table t_student (id integer not null auto_increment, name varchar(255), createTime datetime, classesid integer, primary key (id))
alter table t_student add index FK4B9075708EBC77F7 (classesid), add constraint FK4B9075708EBC77F7 foreign key (classesid) references t_classes (id)
InitData:
有学生的班级:
Hibernate: insert into t_classes (name) values (?)
有班级的学生:
Hibernate: insert into t_student (name, createTime, classesid) values (?, ?, ?)
无学生的班级:5个
Hibernate: insert into t_classes (name) values (?)
无班级的学生:10个
Hibernate: insert into t_student (name, createTime, classesid) values (?, ?, ?)
mysql> create database 26hibernate_hql;
Query OK, 1 row affected (0.05 sec)
mysql> use 26hibernate_hql;
Database changed
mysql> show tables;
+---------------------------+
| Tables_in_26hibernate_hql |
+---------------------------+
| t_classes |
| t_student |
+---------------------------+
2 rows in set (0.00 sec)
mysql> select * from t_classes;
+----+---------------+
| id | name |
+----+---------------+
| 1 | 班级0 |
| 2 | 班级1 |
| 3 | 班级2 |
| 4 | 班级3 |
| 5 | 班级4 |
| 6 | 班级5 |
| 7 | 班级6 |
| 8 | 班级7 |
| 9 | 班级8 |
| 10 | 班级9 |
| 11 | 无学生的班级0 |
| 12 | 无学生的班级1 |
| 13 | 无学生的班级2 |
| 14 | 无学生的班级3 |
| 15 | 无学生的班级4 |
+----+---------------+
15 rows in set (0.00 sec)
mysql> select * from t_student;
+-----+---------------+---------------------+-----------+
| id | name | createTime | classesid |
+-----+---------------+---------------------+-----------+
| 1 | 班级0的学生0 | 2012-03-11 06:27:13 | 1 |
| 2 | 班级0的学生1 | 2012-06-05 19:02:55 | 1 |
| 3 | 班级0的学生2 | 2012-04-12 19:23:03 | 1 |
| 4 | 班级0的学生3 | 2012-08-22 17:50:26 | 1 |
| 5 | 班级0的学生4 | 2012-09-11 01:34:35 | 1 |
| 6 | 班级0的学生5 | 2012-12-03 02:19:54 | 1 |
| 7 | 班级0的学生6 | 2012-06-15 00:26:49 | 1 |
| 8 | 班级0的学生7 | 2012-04-30 09:04:07 | 1 |
| 9 | 班级0的学生8 | 2012-03-05 06:07:14 | 1 |
| 10 | 班级0的学生9 | 2012-12-03 17:20:55 | 1 |
| 11 | 班级1的学生0 | 2012-09-13 07:19:14 | 2 |
| 12 | 班级1的学生1 | 2012-06-19 03:38:02 | 2 |
| 13 | 班级1的学生2 | 2012-03-11 14:00:22 | 2 |
| 14 | 班级1的学生3 | 2012-07-12 01:09:07 | 2 |
| 15 | 班级1的学生4 | 2012-06-26 08:14:46 | 2 |
| 16 | 班级1的学生5 | 2012-02-28 12:01:36 | 2 |
| 17 | 班级1的学生6 | 2012-12-04 04:22:17 | 2 |
| 18 | 班级1的学生7 | 2012-06-03 15:38:38 | 2 |
| 19 | 班级1的学生8 | 2012-04-17 12:25:18 | 2 |
| 20 | 班级1的学生9 | 2012-08-04 06:27:24 | 2 |
| 21 | 班级2的学生0 | 2012-06-20 12:20:52 | 3 |
| 22 | 班级2的学生1 | 2012-04-22 09:06:25 | 3 |
| 23 | 班级2的学生2 | 2012-01-20 18:50:58 | 3 |
| 24 | 班级2的学生3 | 2012-03-13 17:00:23 | 3 |
| 25 | 班级2的学生4 | 2012-07-04 19:54:41 | 3 |
| 26 | 班级2的学生5 | 2012-04-06 17:05:33 | 3 |
| 27 | 班级2的学生6 | 2012-07-22 05:17:24 | 3 |
| 28 | 班级2的学生7 | 2012-07-25 03:35:08 | 3 |
| 29 | 班级2的学生8 | 2012-07-22 12:59:25 | 3 |
| 30 | 班级2的学生9 | 2012-05-22 00:39:39 | 3 |
| 31 | 班级3的学生0 | 2012-07-04 16:04:13 | 4 |
| 32 | 班级3的学生1 | 2012-04-16 15:58:54 | 4 |
| 33 | 班级3的学生2 | 2012-10-23 06:19:46 | 4 |
| 34 | 班级3的学生3 | 2012-01-05 22:14:47 | 4 |
| 35 | 班级3的学生4 | 2012-05-16 22:12:28 | 4 |
| 36 | 班级3的学生5 | 2012-01-06 22:56:50 | 4 |
| 37 | 班级3的学生6 | 2012-03-17 01:42:42 | 4 |
| 38 | 班级3的学生7 | 2012-11-13 04:26:54 | 4 |
| 39 | 班级3的学生8 | 2012-12-04 18:45:41 | 4 |
| 40 | 班级3的学生9 | 2012-01-10 18:39:50 | 4 |
| 41 | 班级4的学生0 | 2012-06-15 21:57:48 | 5 |
| 42 | 班级4的学生1 | 2012-05-19 00:48:20 | 5 |
| 43 | 班级4的学生2 | 2012-04-17 08:32:47 | 5 |
| 44 | 班级4的学生3 | 2012-09-03 17:03:47 | 5 |
| 45 | 班级4的学生4 | 2012-08-27 00:45:46 | 5 |
| 46 | 班级4的学生5 | 2012-02-05 10:09:28 | 5 |
| 47 | 班级4的学生6 | 2012-05-04 02:18:00 | 5 |
| 48 | 班级4的学生7 | 2012-11-09 17:24:02 | 5 |
| 49 | 班级4的学生8 | 2012-08-03 14:36:07 | 5 |
| 50 | 班级4的学生9 | 2012-12-06 15:27:28 | 5 |
| 51 | 班级5的学生0 | 2012-06-08 23:05:59 | 6 |
| 52 | 班级5的学生1 | 2012-05-19 00:06:25 | 6 |
| 53 | 班级5的学生2 | 2012-01-02 22:20:25 | 6 |
| 54 | 班级5的学生3 | 2012-07-09 03:54:58 | 6 |
| 55 | 班级5的学生4 | 2012-01-03 09:17:51 | 6 |
| 56 | 班级5的学生5 | 2012-12-06 18:21:15 | 6 |
| 57 | 班级5的学生6 | 2012-11-13 17:37:31 | 6 |
| 58 | 班级5的学生7 | 2012-06-11 20:09:11 | 6 |
| 59 | 班级5的学生8 | 2012-09-23 17:26:31 | 6 |
| 60 | 班级5的学生9 | 2012-10-09 07:55:00 | 6 |
| 61 | 班级6的学生0 | 2012-03-24 12:02:23 | 7 |
| 62 | 班级6的学生1 | 2012-07-30 17:31:58 | 7 |
| 63 | 班级6的学生2 | 2012-01-19 02:37:31 | 7 |
| 64 | 班级6的学生3 | 2012-11-19 13:48:21 | 7 |
| 65 | 班级6的学生4 | 2012-04-01 00:10:16 | 7 |
| 66 | 班级6的学生5 | 2012-01-08 13:08:56 | 7 |
| 67 | 班级6的学生6 | 2012-04-20 18:23:49 | 7 |
| 68 | 班级6的学生7 | 2012-08-09 22:48:17 | 7 |
| 69 | 班级6的学生8 | 2012-12-08 11:53:10 | 7 |
| 70 | 班级6的学生9 | 2012-05-20 10:56:13 | 7 |
| 71 | 班级7的学生0 | 2012-12-06 03:51:13 | 8 |
| 72 | 班级7的学生1 | 2012-03-13 16:25:59 | 8 |
| 73 | 班级7的学生2 | 2012-05-16 11:55:36 | 8 |
| 74 | 班级7的学生3 | 2012-04-28 07:10:35 | 8 |
| 75 | 班级7的学生4 | 2012-03-29 11:43:08 | 8 |
| 76 | 班级7的学生5 | 2012-11-03 11:00:37 | 8 |
| 77 | 班级7的学生6 | 2012-06-05 10:31:59 | 8 |
| 78 | 班级7的学生7 | 2012-03-03 13:09:27 | 8 |
| 79 | 班级7的学生8 | 2012-07-25 10:11:43 | 8 |
| 80 | 班级7的学生9 | 2012-11-19 18:23:54 | 8 |
| 81 | 班级8的学生0 | 2012-09-07 21:08:01 | 9 |
| 82 | 班级8的学生1 | 2012-07-26 05:04:10 | 9 |
| 83 | 班级8的学生2 | 2012-01-24 07:04:23 | 9 |
| 84 | 班级8的学生3 | 2012-12-09 10:38:13 | 9 |
| 85 | 班级8的学生4 | 2012-09-03 10:13:29 | 9 |
| 86 | 班级8的学生5 | 2012-10-07 17:11:09 | 9 |
| 87 | 班级8的学生6 | 2012-01-25 05:02:55 | 9 |
| 88 | 班级8的学生7 | 2012-08-01 08:05:51 | 9 |
| 89 | 班级8的学生8 | 2012-07-25 02:24:23 | 9 |
| 90 | 班级8的学生9 | 2012-02-01 07:11:50 | 9 |
| 91 | 班级9的学生0 | 2012-07-25 02:24:48 | 10 |
| 92 | 班级9的学生1 | 2012-01-24 21:55:15 | 10 |
| 93 | 班级9的学生2 | 2012-04-02 06:06:57 | 10 |
| 94 | 班级9的学生3 | 2012-07-26 18:03:59 | 10 |
| 95 | 班级9的学生4 | 2012-06-03 23:13:57 | 10 |
| 96 | 班级9的学生5 | 2012-04-27 15:24:25 | 10 |
| 97 | 班级9的学生6 | 2012-01-24 20:57:02 | 10 |
| 98 | 班级9的学生7 | 2012-08-17 11:02:59 | 10 |
| 99 | 班级9的学生8 | 2012-12-10 03:51:00 | 10 |
| 100 | 班级9的学生9 | 2012-01-29 09:40:15 | 10 |
| 101 | 无班级的学生0 | NULL | NULL |
| 102 | 无班级的学生1 | NULL | NULL |
| 103 | 无班级的学生2 | NULL | NULL |
| 104 | 无班级的学生3 | NULL | NULL |
| 105 | 无班级的学生4 | NULL | NULL |
| 106 | 无班级的学生5 | NULL | NULL |
| 107 | 无班级的学生6 | NULL | NULL |
| 108 | 无班级的学生7 | NULL | NULL |
| 109 | 无班级的学生8 | NULL | NULL |
| 110 | 无班级的学生9 | NULL | NULL |
+-----+---------------+---------------------+-----------+
110 rows in set (0.05 sec)