继续做以下的前期准备工作:
新建一个测试数据库TestDB;
create database TestDB;
创建测试表table1和table2;
CREATE TABLE table1 ( customer_id VARCHAR ( 10 ) NOT NULL , city VARCHAR ( 10 ) NOT NULL , PRIMARY KEY (customer_id) )ENGINE = INNODB DEFAULT CHARSET = UTF8; CREATE TABLE table2 ( order_id INT NOT NULL auto_increment, customer_id VARCHAR ( 10 ), PRIMARY KEY (order_id) )ENGINE = INNODB DEFAULT CHARSET = UTF8;
插入测试数据;
INSERT INTO table1(customer_id,city) VALUES ( ‘ 163 ‘ , ‘ hangzhou ‘ ); INSERT INTO table1(customer_id,city) VALUES ( ‘ 9you ‘ , ‘ shanghai ‘ ); INSERT INTO table1(customer_id,city) VALUES ( ‘ tx ‘ , ‘ hangzhou ‘ ); INSERT INTO table1(customer_id,city) VALUES ( ‘ baidu ‘ , ‘ hangzhou ‘ ); INSERT INTO table2(customer_id) VALUES ( ‘ 163 ‘ ); INSERT INTO table2(customer_id) VALUES ( ‘ 163 ‘ ); INSERT INTO table2(customer_id) VALUES ( ‘ 9you ‘ ); INSERT INTO table2(customer_id) VALUES ( ‘ 9you ‘ ); INSERT INTO table2(customer_id) VALUES ( ‘ 9you ‘ ); INSERT INTO table2(customer_id) VALUES ( ‘ tx ‘ ); INSERT INTO table2(customer_id) VALUES ( NULL );
准备工作做完以后,table1和table2看起来应该像下面这样:
mysql > select * from table1; + -- -----------+----------+ | customer_id | city | + -- -----------+----------+ | 163 | hangzhou | | 9you | shanghai | | baidu | hangzhou | | tx | hangzhou | + -- -----------+----------+ 4 rows in set ( 0.00 sec)
mysql > select * from table2; + -- --------+-------------+ | order_id | customer_id | + -- --------+-------------+ | 1 | 163 | | 2 | 163 | | 3 | 9you | | 4 | 9you | | 5 | 9you | | 6 | tx | | 7 | NULL | + -- --------+-------------+ 7 rows in set ( 0.00 sec)
准备SQL逻辑查询测试语句
SELECT a.customer_id, COUNT (b.order_id) as total_orders FROM table1 AS a LEFT JOIN table2 AS b ON a.customer_id = b.customer_id WHERE a.city = ‘ hangzhou ‘ GROUP BY a.customer_id HAVING count (b.order_id) < 2 ORDER BY total_orders DESC ;
使用上述SQL查询语句来获得来自杭州,并且订单数少于2的客户。
Mysql基础(十二):sql语句执行步骤详解(一)准备工作
标签:详解 前期准备 sql查询语句 步骤 arch cond sql base ota
查看更多关于Mysql基础(十二):sql语句执行步骤详解(一)准备工作的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did118372