mysql -- 多条件关联查询(2)

 

 1 SET FOREIGN_KEY_CHECKS=0;
 2 
 3 -- ----------------------------
 4 -- Table structure for qsyz_app_user
 5 -- ----------------------------
 6 DROP TABLE IF EXISTS `qsyz_app_user`;
 7 CREATE TABLE `qsyz_app_user` (
 8   `userid` int(11) NOT NULL,
 9   `role` varchar(255) DEFAULT NULL COMMENT '办公室',
10   `nickname` varchar(255) DEFAULT NULL COMMENT '名称'
11 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
12 
13 -- ----------------------------
14 -- Records of qsyz_app_user
15 -- ----------------------------
16 INSERT INTO `qsyz_app_user` VALUES ('1', '办公室', '张三');
17 INSERT INTO `qsyz_app_user` VALUES ('2', '办公室', '李四');
18 INSERT INTO `qsyz_app_user` VALUES ('3', '总经办', '张三');
qsyz_app_user
 1 DROP TABLE IF EXISTS `qsyz_app_version`;
 2 CREATE TABLE `qsyz_app_version` (
 3   `id` int(11) NOT NULL,
 4   `version_name` varchar(255) DEFAULT NULL COMMENT '姓名',
 5   `version_num` int(11) DEFAULT NULL,
 6   `version_size` double DEFAULT NULL,
 7   `create_time` datetime DEFAULT NULL,
 8   `version_text` varchar(255) DEFAULT NULL,
 9   `down_url` varchar(255) DEFAULT NULL,
10   `phone_type` varchar(255) DEFAULT NULL
11 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
12 
13 -- ----------------------------
14 -- Records of qsyz_app_version
15 -- ----------------------------
16 INSERT INTO `qsyz_app_version` VALUES ('440289813', '1.1.2', '20171205', '0', '2017-12-05 00:00:00', '56', 'http://192.168.1.101:8080/images/1.JPEG', 'android');
17 INSERT INTO `qsyz_app_version` VALUES ('440378169', '1.1.2', '20171109', '0', '2017-12-05 00:00:00', '565', 'http://192.168.1.101:8080/images/1.JPEG', 'android');
18 INSERT INTO `qsyz_app_version` VALUES ('749696543', '1.1.0', '1', '0', '2017-10-23 00:00:00', 'ghkfadjghkl', 'http://192.168.2.112:8080/images/app-debug.apk', 'android');
19 INSERT INTO `qsyz_app_version` VALUES ('750259190', '21', '23', '0', '2017-10-23 00:00:00', '家居空间', 'http://192.168.2.112:8080/images/ConstantUtil.java', 'android');
qsyz_app_version
 1 DROP TABLE IF EXISTS `qsyz_shop_order`;
 2 CREATE TABLE `qsyz_shop_order` (
 3   `user_id` int(11) NOT NULL,
 4   `order_status` varchar(255) DEFAULT NULL COMMENT '支付成功',
 5   `create_date` datetime DEFAULT NULL COMMENT '日期要求为今天'
 6 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
 7 
 8 -- ----------------------------
 9 -- Records of qsyz_shop_order
10 -- ----------------------------
11 INSERT INTO `qsyz_shop_order` VALUES ('1', '支付成功', '2018-04-21 15:45:44');
12 INSERT INTO `qsyz_shop_order` VALUES ('2', '支付成功', '2018-04-21 15:45:49');
13 INSERT INTO `qsyz_shop_order` VALUES ('3', '支付成功', '2018-04-21 15:45:55');
qsyz_shop_order

 

问题(一)如下:

查询出今天办公室人员的订餐人员

qsyz_app_user用户表:
userid、role、 nickname

qsyz_shop_order订单表:
user_id、order_status、 create_date

role 为“办公室”
order_status 为“支付成功”
日期要求为今天

实现语句:

SELECT
    *
FROM
    qsyz_app_user a,
    qsyz_shop_order b
WHERE
    a.userid = b.user_id
AND b.order_status = '支付成功'
AND b.create_date > '2017-12-25 16:05:05';

#按日期模糊查询出结果 
SELECT
    a.nickname
FROM
    qsyz_app_user a,
    qsyz_shop_order b
WHERE
    a.userid = b.user_id
AND a.role = '办公室'
AND b.order_status = '支付成功'
AND b.create_date LIKE '%2018-04-21%';
SQL语句

mysql like的写法:

MYSQL如何进行sql like (sql查询结果)的查询 

 1 create_date like CONCAT('%','2018-04-21','%');  #可以避免sql注入。
 2 create_date like '%2018-04-21%';
 3 
 4 select * from table1 where `text` like (select name from table2 where id =3);
 5 select * from table1 where `text` like '%'(select name from table2 where id =3)'%';
 6 select * from table1 where `text` like '%' + (select name from table2 where id =3) +'%';
 7 select * from table1 where `text` like '%(select name from table2 where id =3)%';
 8 select * from table1 where `text` like '%’select name from table2 where id =3‘%';
 9 
10 select * from table1 where `text` like '%(
11 select name from table2 where id =3
12 ) +'%';(第二条SQL单独占一行)
sql语句

 

问题(二)如下:

 1 SELECT
 2     *
 3 FROM
 4     qsyz_app_version
 5 WHERE
 6     version_num = (
 7         SELECT
 8             max(version_num)
 9         FROM
10             qsyz_app_version
11         WHERE
12             phone_type = 'android'
13     );
SQL语句

 

posted @ 2018-04-21 16:24  liuweipcs  阅读(461)  评论(0)    收藏  举报