customer是客户表,这是表customer的建表语句:CREATE TABLE `customer` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`cust_no` varchar(12) NOT NULL COMMENT '客户号码',`cust_name` varchar(255) DEFAULT NULL COMMENT '客户名称',`work_corp` varchar(255) DEFAULT NULL COMMENT '工作单位',`cert_no` varchar(18) DEFAULT NULL COMMENT '身份证号',`mobile_tel` varchar(16) DEFAULT NULL COMMENT '移动电话',`hl_in_hold` char(1) DEFAULT NULL COMMENT '是否持有基金',`trans_num_90d` int(255) DEFAULT NULL COMMENT '近90天线上渠道交易笔数',`trans_num_60d` int(255) DEFAULT NULL COMMENT '近60天线上渠道交易笔数',`jd_activity` varchar(8) DEFAULT NULL COMMENT '快捷_京东活跃度',`alipay_activity` varchar(8) DEFAULT NULL COMMENT '快捷_支付宝活跃度',`grd_cd` char(1) DEFAULT NULL COMMENT ‘性别,枚举类型, 1为男,0为女',PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4; 现在需要提供一个sql,查男客户名称,移动电话
时间: 2023-11-21 16:12:51 浏览: 96
好的,下面是查询男客户名称和移动电话的 SQL 语句:
```
SELECT cust_name, mobile_tel FROM customer WHERE grd_cd = '1';
```
这个 SQL 语句会在 `customer` 表中查找 `grd_cd` 为 `1` 的记录,也就是男性客户,然后返回这些记录的 `cust_name` 和 `mobile_tel` 字段的值。
相关问题
有两张表,customer是客户表, 这是表customer的建表语句:CREATE TABLE `customer` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`cust_no` varchar(12) NOT NULL COMMENT '客户号码',`cust_name` varchar(255) DEFAULT NULL COMMENT '客户名称',`work_corp` varchar(255) DEFAULT NULL COMMENT '工作单位',`cert_no` varchar(18) DEFAULT NULL COMMENT '身份证号',`mobile_tel` varchar(16) DEFAULT NULL COMMENT '移动电话',`hl_in_hold` char(1) DEFAULT NULL COMMENT '是否持有基金',`trans_num_90d` int(255) DEFAULT NULL COMMENT '近90天线上渠道交易笔数',`trans_num_60d` int(255) DEFAULT NULL COMMENT '近60天线上渠道交易笔数',`jd_activity` varchar(8) DEFAULT NULL COMMENT '快捷_京东活跃度',`alipay_activity` varchar(8) DEFAULT NULL COMMENT '快捷_支付宝活跃度',`grd_cd` char(1) DEFAULT NULL COMMENT '性别',PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4; card是信用卡表,这是表card的建表语句:CREATE TABLE `card` (`id` int(11) NOT NULL AUTO_INCREMENT,`card_no` varchar(16) NOT NULL COMMENT '卡号',`cust_no` varchar(12) NOT NULL COMMENT '客户号',`type` int(255) NOT NULL COMMENT '类型',`active_date` datetime DEFAULT NULL COMMENT '激活日期',`is_first` char(1) NOT NULL DEFAULT '0' COMMENT '是否首卡',PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4;其中,type有枚举值,10代表白金卡客户,20代表金卡客户; 现在需要提供一个sql,查询激活日期大于2022年3月12日的白金卡客户名称,移动电话
好的,下面是查询激活日期大于2022年3月12日的白金卡客户名称和移动电话的 SQL 语句:
```
SELECT c.cust_name, c.mobile_tel
FROM customer c
JOIN card d ON c.cust_no = d.cust_no
WHERE d.type = 10 AND d.active_date > '2022-03-12';
```
这个 SQL 语句使用了 `JOIN` 操作将 `customer` 和 `card` 两张表关联起来,并选取了 `type` 为 `10`(白金卡客户)且 `active_date` 大于 '2022-03-12' 的记录。最后,返回这些记录的 `cust_name` 和 `mobile_tel` 字段的值。
CREATE TABLE Customers ( Customer_ID int NOT NULL, -- 客户ID,不允许空值 Customer_name text NOT NULL, -- 客户姓名,不允许空值 Customer_IDNum bigint NOT NULL, -- 身份证号,不允许空值 Customer_Sex nchar(2) NOT NULL, -- 性别,不允许空值 Customer_Tel bigint NOT NULL, -- 电话号码,不允许空值 Customer_add text, -- 地址,允许空值 PRIMARY KEY (Customer_ID) -- 使用 Customer_ID 列作为主键,确保每个客户都是唯一的 );根据这个表建立视图,包含以上
以下是创建视图的 SQL 语句,以包含上述表中的所有列:
```
CREATE VIEW customer_info AS
SELECT Customer_ID, Customer_name, Customer_IDNum, Customer_Sex, Customer_Tel, Customer_add
FROM Customers;
```
这将创建一个名为 customer_info 的视图,其中包含客户 ID、客户姓名、身份证号、性别、电话号码和地址。您可以根据需要更改列名、添加筛选条件等。
阅读全文