mysql>select age frommemberwhere age in (17,30); +------+ | age | +------+ |30| |17| +------+ 2rowsinset (0.01 sec)
mysql>select age frommemberwhere age in (17,60); +------+ | age | +------+ |17| +------+ 1rowinset (0.00 sec)
mysql>select*frommemberwhere age in (17,60); +------+--------+------+------+---------------------+ | id | name | age | math | e_date | +------+--------+------+------+---------------------+ |4| lumine |17|61|1999-10-1010:10:10| +------+--------+------+------+---------------------+ 1rowinset (0.00 sec)
mysql>select*frommember; +------+-----------+------+------+---------------------+ | id | name | age | math | e_date | +------+-----------+------+------+---------------------+ |1| xiaoshuai |30|59|1999-10-1010:10:10| |2| xiaoai |24|NULL|1999-10-1010:10:10| |3| xiaomei |20|100|1999-10-1010:10:10| |4| lumine |17|61|1999-10-1010:10:10| |NULL|NULL|NULL|NULL|NULL| +------+-----------+------+------+---------------------+ 5rowsinset (0.01 sec)
mysql>select*frommemberwhere name like'%i'; +------+-----------+------+------+---------------------+ | id | name | age | math | e_date | +------+-----------+------+------+---------------------+ |1| xiaoshuai |30|59|1999-10-1010:10:10| |2| xiaoai |24|NULL|1999-10-1010:10:10| |3| xiaomei |20|100|1999-10-1010:10:10| +------+-----------+------+------+---------------------+ 3rowsinset (0.01 sec)
mysql>select*frommemberwhere name like'%i__'; +------+--------+------+------+---------------------+ | id | name | age | math | e_date | +------+--------+------+------+---------------------+ |4| lumine |17|61|1999-10-1010:10:10| +------+--------+------+------+---------------------+ 1rowinset (0.00 sec)
is NULL:
1 2 3 4 5 6 7
mysql>select*frommemberwhere id isNULL; +------+------+------+------+--------+ | id | name | age | math | e_date | +------+------+------+------+--------+ |NULL|NULL|NULL|NULL|NULL| +------+------+------+------+--------+ 1rowinset (0.00 sec)
mysql>select age frommemberorderby age asc; +------+ | age | +------+ |NULL| |17| |20| |24| |30| +------+ 5rowsinset (0.00 sec)
mysql>select age frommemberorderby age desc; +------+ | age | +------+ |30| |24| |20| |17| |NULL| +------+ 5rowsinset (0.00 sec)
使用limit限制显示行数:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
mysql>select*frommemberorderby age desc limit 1; +------+-----------+------+------+---------------------+ | id | name | age | math | e_date | +------+-----------+------+------+---------------------+ |1| xiaoshuai |30|59|1999-10-1010:10:10| +------+-----------+------+------+---------------------+ 1rowinset (0.00 sec)
mysql>select*frommemberorderby age desc limit 3; +------+-----------+------+------+---------------------+ | id | name | age | math | e_date | +------+-----------+------+------+---------------------+ |1| xiaoshuai |30|59|1999-10-1010:10:10| |2| xiaoai |24|NULL|1999-10-1010:10:10| |3| xiaomei |20|100|1999-10-1010:10:10| +------+-----------+------+------+---------------------+ 3rowsinset (0.00 sec)
offset选项,偏移量:
1 2 3 4 5 6 7 8 9
mysql>select*frommemberorderby age desc limit 3offset1; +------+---------+------+------+---------------------+ | id | name | age | math | e_date | +------+---------+------+------+---------------------+ |2| xiaoai |24|NULL|1999-10-1010:10:10| |3| xiaomei |20|100|1999-10-1010:10:10| |4| lumine |17|61|1999-10-1010:10:10| +------+---------+------+------+---------------------+ 3rowsinset (0.00 sec)
mysql>select*from customer innerjoin order_table on customer.id=order_table.user_id; +----+---------+------+----------+--------------+-------+---------+ | id | name | age | order_id | name | price | user_id | +----+---------+------+----------+--------------+-------+---------+ |3| ayaka |16|10| shanzi |520|3| |2| yoimiya |17|13| duojiaoyutou |50|2| +----+---------+------+----------+--------------+-------+---------+ 2rowsinset (0.00 sec)
mysql>select*from customer as c innerjoin order_table as o on c.id=o.user_id; +----+---------+------+----------+--------------+-------+---------+ | id | name | age | order_id | name | price | user_id | +----+---------+------+----------+--------------+-------+---------+ |3| ayaka |16|10| shanzi |520|3| |2| yoimiya |17|13| duojiaoyutou |50|2| +----+---------+------+----------+--------------+-------+---------+ 2rowsinset (0.01 sec)
隐式内连接:
1 2 3 4 5 6 7 8
mysql>select*from customer,order_table where customer.id=order_table.user_id; +----+---------+------+----------+--------------+-------+---------+ | id | name | age | order_id | name | price | user_id | +----+---------+------+----------+--------------+-------+---------+ |3| ayaka |16|10| shanzi |520|3| |2| yoimiya |17|13| duojiaoyutou |50|2| +----+---------+------+----------+--------------+-------+---------+ 2rowsinset (0.00 sec)
mysql>desc customer; +-------+-------------+------+-----+---------+----------------+ | Field | Type |Null| Key |Default| Extra | +-------+-------------+------+-----+---------+----------------+ | id |int|NO| PRI |NULL| auto_increment | | name |varchar(30) | YES ||NULL|| | age |int| YES ||NULL|| +-------+-------------+------+-----+---------+----------------+ 3rowsinset (0.01 sec)
mysql>desc customer_tmp; +-------+-------------+------+-----+---------+-------+ | Field | Type |Null| Key |Default| Extra | +-------+-------------+------+-----+---------+-------+ | id |int|NO||0|| | name |varchar(30) | YES ||NULL|| | age |int| YES ||NULL|| +-------+-------------+------+-----+---------+-------+ 3rowsinset (0.01 sec)
mysql>select*from customer_tmp; +----+---------+------+ | id | name | age | +----+---------+------+ |1| Lumine |500| |2| yoimiya |17| |3| ayaka |16| |5| nilou |17| +----+---------+------+ 4rowsinset (0.00 sec)
复制一个 table(不包含数据):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
mysql>createtable customer_tmp_like like customer; Query OK, 0rows affected (0.03 sec)
mysql>desc customer_tmp_like; +-------+-------------+------+-----+---------+----------------+ | Field | Type |Null| Key |Default| Extra | +-------+-------------+------+-----+---------+----------------+ | id |int|NO| PRI |NULL| auto_increment | | name |varchar(30) | YES ||NULL|| | age |int| YES ||NULL|| +-------+-------------+------+-----+---------+----------------+ 3rowsinset (0.01 sec)
mysql>desc customer_tmp; +-------+-------------+------+-----+---------+-------+ | Field | Type |Null| Key |Default| Extra | +-------+-------------+------+-----+---------+-------+ | id |int|NO| PRI |NULL|| | name |varchar(30) | YES ||NULL|| | age |int| YES ||NULL|| +-------+-------------+------+-----+---------+-------+ 3rowsinset (0.00 sec)
mysql>select*from customer; +----+---------+------+ | id | name | age | +----+---------+------+ |1| Lumine |500| |2| yoimiya |17| |3| ayaka |16| |5| nilou |17| +----+---------+------+ 4rowsinset (0.00 sec)
mysql>select*from customer as c leftouterjoin order_table as o on c.id=o.user_id; +----+---------+------+----------+--------------+-------+---------+ | id | name | age | order_id | name | price | user_id | +----+---------+------+----------+--------------+-------+---------+ |1| Lumine |500|NULL|NULL|NULL|NULL| |2| yoimiya |17|13| duojiaoyutou |50|2| |3| ayaka |16|10| shanzi |520|3| |5| nilou |17|NULL|NULL|NULL|NULL| +----+---------+------+----------+--------------+-------+---------+ 4rowsinset (0.00 sec)
外连接的时候,必须要加上连接条件 on .
追加限制:
1 2 3 4 5 6 7 8
mysql>select*from customer as c leftouterjoin order_table as o on c.id=o.user_id where o.order_id isnotnull; +----+---------+------+----------+--------------+-------+---------+ | id | name | age | order_id | name | price | user_id | +----+---------+------+----------+--------------+-------+---------+ |3| ayaka |16|10| shanzi |520|3| |2| yoimiya |17|13| duojiaoyutou |50|2| +----+---------+------+----------+--------------+-------+---------+ 2rowsinset (0.00 sec)
右外连接:
1 2 3 4 5 6 7 8 9
mysql>select*from customer as c rightouterjoin order_table as o on c.id=o.user_id; +------+---------+------+----------+--------------+-------+---------+ | id | name | age | order_id | name | price | user_id | +------+---------+------+----------+--------------+-------+---------+ |3| ayaka |16|10| shanzi |520|3| |2| yoimiya |17|13| duojiaoyutou |50|2| +------+---------+------+----------+--------------+-------+---------+ 2rowsinset (0.00 sec)
mysql>select*frommember; +------+-----------+------+------+---------------------+ | id | name | age | math | e_date | +------+-----------+------+------+---------------------+ |1| xiaoshuai |30|59|1999-10-1010:10:10| |2| xiaoai |24|NULL|1999-10-1010:10:10| |3| xiaomei |20|100|1999-10-1010:10:10| |4| lumine |17|61|1999-10-1010:10:10| |NULL|NULL|NULL|NULL|NULL| +------+-----------+------+------+---------------------+ 5rowsinset (0.00 sec)
mysql>select*from customer; +----+---------+------+ | id | name | age | +----+---------+------+ |1| Lumine |500| |2| yoimiya |17| |3| ayaka |16| |5| nilou |17| +----+---------+------+ 4rowsinset (0.00 sec)
mysql>select*from customer as c rightouterjoinmemberas m on c.id=m.id; +------+---------+------+------+-----------+------+------+---------------------+ | id | name | age | id | name | age | math | e_date | +------+---------+------+------+-----------+------+------+---------------------+ |1| Lumine |500|1| xiaoshuai |30|59|1999-10-1010:10:10| |2| yoimiya |17|2| xiaoai |24|NULL|1999-10-1010:10:10| |3| ayaka |16|3| xiaomei |20|100|1999-10-1010:10:10| |NULL|NULL|NULL|4| lumine |17|61|1999-10-1010:10:10| |NULL|NULL|NULL|NULL|NULL|NULL|NULL|NULL| +------+---------+------+------+-----------+------+------+---------------------+ 5rowsinset (0.00 sec)
mysql>descmember; +--------+-------------+------+-----+---------+-------+ | Field | Type |Null| Key |Default| Extra | +--------+-------------+------+-----+---------+-------+ | id |int| YES ||NULL|| | name |varchar(20) | YES ||NULL|| | age |int| YES ||NULL|| | math |float| YES ||NULL|| | e_date | datetime | YES ||NULL|| +--------+-------------+------+-----+---------+-------+ 5rowsinset (0.00 sec)
mysql>desc customer; +-------+-------------+------+-----+---------+----------------+ | Field | Type |Null| Key |Default| Extra | +-------+-------------+------+-----+---------+----------------+ | id |int|NO| PRI |NULL| auto_increment | | name |varchar(30) | YES ||NULL|| | age |int| YES ||NULL|| +-------+-------------+------+-----+---------+----------------+ 3rowsinset (0.01 sec)
MYSQL* conn; MYSQL_RES* res; MYSQL_ROW row; char* server = "localhost"; char* user = "root"; char* password = ""; // input passwd, use "" if there isn't a password char* database = "akashi"; // name of the database to access char query[300] = "select * from member where name = '"; unsignedint queryRet; sprintf(query, "%s%s%s", query, argv[1], "'"); /* strcpy(query, "select * from www"); */
/* Print the query statement before output */ puts(query);
/* Connect to the database, continue if successful */ if(!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) { printf("Error connecting to database: %s\n", mysql_error(conn)); return-1; } else { printf("MySQL Connected.\n"); }
// Passing SQL Statements to MySQL queryRet = mysql_query(conn, query); if(queryRet){ printf("Error making query: %s\n", mysql_error(conn)); } else { res = mysql_store_result(conn); printf("mysql_store_result = %lu\n", (unsignedlong)mysql_num_rows(res)); /* alternative way of the two lines above */ /* res = mysql_use_result(conn); */
row = mysql_fetch_row(res); if(row == NULL){ printf("No data found.\n"); } else { do{ // print an entire line of content every single loop for(queryRet = 0; queryRet < mysql_num_fields(res); queryRet++) { printf("%8s ", row[queryRet]); } printf("\n"); }while((row = mysql_fetch_row(res)) != NULL); }
mysql_free_result(res); }
mysql_close(conn); return0; }
编译(可能会跳一些 warning 不过不影响大局):
1
gcc query.c -lmysqlclient
运行结果:
1 2 3 4 5
wanko@wanko:~/mycode/example_mysql$ ./a.out lumine select * from member where name = 'lumine' MySQL Connected. mysql_store_result = 1 4 lumine 17 61 1999-10-10 10:10:10
来看一下是否和 akashi 库中的表 member 数据吻合:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
mysql>select*frommember; +------+-----------+------+------+---------------------+ | id | name | age | math | e_date | +------+-----------+------+------+---------------------+ |1| xiaoshuai |30|59|1999-10-1010:10:10| |2| xiaoai |24|NULL|1999-10-1010:10:10| |3| xiaomei |20|100|1999-10-1010:10:10| |4| lumine |17|61|1999-10-1010:10:10| |NULL|NULL|NULL|NULL|NULL| |5| huohuo |14|71|NULL| |7| ai |17|99|NULL| |NULL| zhuangzi |99|120|NULL| |NULL| laozi |99|120|NULL| +------+-----------+------+------+---------------------+ 9rowsinset (0.00 sec)
intmain(int argc, char* argv[]){ MYSQL *conn; char* server = "localhost"; char* user = "root"; char* password = ""; // input passwd, use "" if there isn't a password char* database = "akashi"; // name of the database to access char query[300] = "insert into member (id, name, age, math) values (8,'Kafka',28,99)"; int queryResult;
MYSQL* conn; MYSQL_RES* res; MYSQL_ROW row; char* server = "localhost"; char* user = "root"; char* password = ""; // input passwd, use "" if there isn't a password char* database = "akashi"; // name of the database to access char query[300] = "update member set name = '"; sprintf(query, "%s%s%s", query, argv[1], "' where id = 1"); puts(query);
隔离性(Isolation):尽管多个事务可能并发执行,但系统保证,对于任何一对事务 i 和 j ,在 i 看来,j 要么在 i 开始之前已经完成,要么在 i 完成之后才开始执行。因此,每个事务都感觉不到系统中有其他事务在并发地执行。即:一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的。 做不到 100% 隔离,与隔离级别有关。
mysql>desc test1; +-------+------+------+-----+---------+-------+ | Field | Type |Null| Key |Default| Extra | +-------+------+------+-----+---------+-------+ | id |int|NO| PRI |NULL|| | age |int| YES ||NULL|| +-------+------+------+-----+---------+-------+ 2rowsinset (0.00 sec)
mysql>desc test2; +-------+------+------+-----+---------+-------+ | Field | Type |Null| Key |Default| Extra | +-------+------+------+-----+---------+-------+ | id |int|NO| PRI |NULL|| | age |int| YES ||NULL|| +-------+------+------+-----+---------+-------+ 2rowsinset (0.00 sec)
主键特点:非空、唯一。
普通索引
普通索引的创建(创建表的时候,创建普通索引):
1 2 3 4 5 6 7 8 9 10 11
mysql>createtable test3(id int, age int, index idx_age(age)); Query OK, 0rows affected (0.04 sec)
mysql>desc test3; +-------+------+------+-----+---------+-------+ | Field | Type |Null| Key |Default| Extra | +-------+------+------+-----+---------+-------+ | id |int| YES ||NULL|| | age |int| YES | MUL |NULL|| +-------+------+------+-----+---------+-------+ 2rowsinset (0.00 sec)
mysql>desc test4; +-------+------+------+-----+---------+-------+ | Field | Type |Null| Key |Default| Extra | +-------+------+------+-----+---------+-------+ | id |int| YES ||NULL|| | age |int| YES | MUL |NULL|| +-------+------+------+-----+---------+-------+ 2rowsinset (0.01 sec)
在创建表之后,使用 create index 创建索引:
1 2 3 4 5 6 7 8 9 10 11 12
mysql>create index idx_id on test4(id); Query OK, 0rows affected (0.03 sec) Records: 0 Duplicates: 0 Warnings: 0
mysql>desc test4; +-------+------+------+-----+---------+-------+ | Field | Type |Null| Key |Default| Extra | +-------+------+------+-----+---------+-------+ | id |int| YES | MUL |NULL|| | age |int| YES | MUL |NULL|| +-------+------+------+-----+---------+-------+ 2rowsinset (0.00 sec)
唯一索引
唯一索引(创建方法和普通索引大同小异):
1 2 3 4 5
createtable test3(id int, age int, unique index idx_age(age));
mysql>createtable test5(id int, age int, name varchar(20), math int, eng int, primary key(id)); Query OK, 0rows affected (0.03 sec)
mysql>desc test5; +-------+-------------+------+-----+---------+-------+ | Field | Type |Null| Key |Default| Extra | +-------+-------------+------+-----+---------+-------+ | id |int|NO| PRI |NULL|| | age |int| YES ||NULL|| | name |varchar(20) | YES ||NULL|| | math |int| YES ||NULL|| | eng |int| YES ||NULL|| +-------+-------------+------+-----+---------+-------+ 5rowsinset (0.00 sec)
mysql>desc test5; +-------+-------------+------+-----+---------+-------+ | Field | Type |Null| Key |Default| Extra | +-------+-------------+------+-----+---------+-------+ | id |int|NO| PRI |NULL|| | age |int| YES ||NULL|| | name |varchar(20) | YES | MUL |NULL|| | math |int| YES ||NULL|| | eng |int| YES ||NULL|| +-------+-------------+------+-----+---------+-------+ 5rowsinset (0.00 sec)
mysql>desc test5; +-------+-------------+------+-----+---------+-------+ | Field | Type |Null| Key |Default| Extra | +-------+-------------+------+-----+---------+-------+ | id |int|NO| PRI |NULL|| | age |int| YES ||NULL|| | name |varchar(20) | YES | MUL |NULL|| | math |int| YES ||NULL|| | eng |int| YES ||NULL|| +-------+-------------+------+-----+---------+-------+ 5rowsinset (0.00 sec)
mysql>altertable test5 drop index idx_name_math_eng; Query OK, 0rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0
mysql>desc test5; +-------+-------------+------+-----+---------+-------+ | Field | Type |Null| Key |Default| Extra | +-------+-------------+------+-----+---------+-------+ | id |int|NO| PRI |NULL|| | age |int| YES ||NULL|| | name |varchar(20) | YES ||NULL|| | math |int| YES ||NULL|| | eng |int| YES ||NULL|| +-------+-------------+------+-----+---------+-------+ 5rowsinset (0.00 sec)
mysql>desc test4; +-------+------+------+-----+---------+-------+ | Field | Type |Null| Key |Default| Extra | +-------+------+------+-----+---------+-------+ | id |int| YES | MUL |NULL|| | age |int| YES | MUL |NULL|| +-------+------+------+-----+---------+-------+ 2rowsinset (0.00 sec)
mysql>drop index idx_id on test4; Query OK, 0rows affected (0.02 sec) Records: 0 Duplicates: 0 Warnings: 0
mysql>desc test4; +-------+------+------+-----+---------+-------+ | Field | Type |Null| Key |Default| Extra | +-------+------+------+-----+---------+-------+ | id |int| YES ||NULL|| | age |int| YES | MUL |NULL|| +-------+------+------+-----+---------+-------+ 2rowsinset (0.01 sec)
mysql>select*frommember; +------+----------+------+------+---------------------+ | id | name | age | math | e_date | +------+----------+------+------+---------------------+ |1| Natasha |30|59|1999-10-1010:10:10| |2| xiaoai |24|NULL|1999-10-1010:10:10| |3| xiaomei |17|100|1999-10-1010:10:10| |4| lumine |17|61|1999-10-1010:10:10| |NULL|NULL|NULL|NULL|NULL| |5| huohuo |15|71|NULL| |7| ai |40|99|NULL| |NULL| zhuangzi |99|120|NULL| |NULL| laozi |99|120|NULL| |8| Kafka |28|99|NULL| +------+----------+------+------+---------------------+ 10rowsinset (0.00 sec)
mysql>begin; Query OK, 0rows affected (0.00 sec)
terminal 2 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
mysql>select*frommember; +------+----------+------+------+---------------------+ | id | name | age | math | e_date | +------+----------+------+------+---------------------+ |1| Natasha |30|59|1999-10-1010:10:10| |2| xiaoai |24|NULL|1999-10-1010:10:10| |3| xiaomei |17|100|1999-10-1010:10:10| |4| lumine |17|61|1999-10-1010:10:10| |NULL|NULL|NULL|NULL|NULL| |5| huohuo |15|71|NULL| |7| ai |40|99|NULL| |NULL| zhuangzi |99|120|NULL| |NULL| laozi |99|120|NULL| |8| Kafka |28|99|NULL| +------+----------+------+------+---------------------+ 10rowsinset (0.00 sec)
mysql>begin; Query OK, 0rows affected (0.00 sec)
terminal 1 :
1 2 3 4 5 6 7
mysql>select*frommemberwhere id =5 lock in share mode; +------+--------+------+------+--------+ | id | name | age | math | e_date | +------+--------+------+------+--------+ |5| huohuo |15|71|NULL| +------+--------+------+------+--------+ 1rowinset (0.00 sec)
terminal 2 :
1 2 3 4 5 6 7
mysql>select*frommemberwhere id =5; +------+--------+------+------+--------+ | id | name | age | math | e_date | +------+--------+------+------+--------+ |5| huohuo |15|71|NULL| +------+--------+------+------+--------+ 1rowinset (0.00 sec)
后略。
- - - - - 演示 END - - - - -
InnoDB 的表锁
InnoDB 还有两个表锁:
意向共享锁(IS):表示事务准备给数据行上共享锁,即一个数据行上共享锁前必须先取得该表的 IS锁。
意向排他锁(IX):表示事务准备给数据行上排他锁,即一个数据行上排他锁前必须先取得该表的 IX锁。
意向锁由 InnoDB 自动添加,不需用户干预。
间隙锁
terminal 1 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
mysql>select*frommember; +------+----------+------+------+---------------------+ | id | name | age | math | e_date | +------+----------+------+------+---------------------+ |1| Natasha |30|59|1999-10-1010:10:10| |2| xiaoai |24|NULL|1999-10-1010:10:10| |3| xiaomei |17|100|1999-10-1010:10:10| |4| lumine |17|61|1999-10-1010:10:10| |NULL|NULL|NULL|NULL|NULL| |5| huohuo |15|71|NULL| |7| ai |40|99|NULL| |NULL| zhuangzi |99|120|NULL| |NULL| laozi |99|120|NULL| |8| Kafka |28|99|NULL| +------+----------+------+------+---------------------+ 10rowsinset (0.00 sec)
mysql>begin; Query OK, 0rows affected (0.00 sec)
terminal 2 :
1 2
mysql>begin; Query OK, 0rows affected (0.00 sec)
terminal 1 :
1 2 3 4 5 6 7 8
mysql>select*frommemberwhere id>4and id<8 lock in share mode; +------+--------+------+------+--------+ | id | name | age | math | e_date | +------+--------+------+------+--------+ |5| huohuo |15|71|NULL| |7| ai |40|99|NULL| +------+--------+------+------+--------+ 2rowsinset (0.00 sec)
mysql>select*frommemberwhere id =4; +------+--------+------+------+---------------------+ | id | name | age | math | e_date | +------+--------+------+------+---------------------+ |4| lumine |17|61|1999-10-1010:10:10| +------+--------+------+------+---------------------+ 1rowinset (0.00 sec)
mysql> explain select*frommemberwhere id =4; +----+-------------+--------+------------+------+---------------+------+---------+------+------+----------+-------------+ | id | select_type |table| partitions | type | possible_keys | key | key_len |ref|rows| filtered | Extra | +----+-------------+--------+------------+------+---------------+------+---------+------+------+----------+-------------+ |1| SIMPLE |member|NULL|ALL|NULL|NULL|NULL|NULL|11|10.00|Usingwhere| +----+-------------+--------+------------+------+---------------+------+---------+------+------+----------+-------------+ 1rowinset, 1 warning (0.00 sec)