1)查询没有添加旅客的账号信息(用户名、密码、余额)

SELECT User.用户名, User.密码, User.余额 FROM User LEFT JOIN Passenger ON User.用户名 = Passenger.用户名 WHERE Passenger.旅客id IS NULL;

2)查询添加旅客数量大于8的账号信息(用户名、密码、旅客数量、余额)

SELECT User.用户名, User.密码, COUNT(Passenger.旅客id) AS 旅客数量, User.余额 FROM User LEFT JOIN Passenger ON User.用户名 = Passenger.用户名 GROUP BY User.用户名, User.密码, User.余额 HAVING COUNT(Passenger.旅客id) > 8;

3)查询每个账号,各自添加了多少个姓张的旅客

SELECT User.用户名, COUNT(Passenger.旅客id) AS 张姓旅客数量 FROM User LEFT JOIN Passenger ON User.用户名 = Passenger.用户名 WHERE Passenger.旅客姓名 LIKE '张%' GROUP BY User.用户名;

4)查询每个账号,添加的男女旅客分别是多少

SELECT User.用户名, SUM(CASE WHEN Passenger.性别 = '男' THEN 1 ELSE 0 END) AS 男性旅客数量, SUM(CASE WHEN Passenger.性别 = '女' THEN 1 ELSE 0 END) AS 女性旅客数量 FROM User LEFT JOIN Passenger ON User.用户名 = Passenger.用户名 GROUP BY User.用户名;

5)查询A1账号所关联的旅客信息(姓名、手机号、性别、身份证号后六位) (旅客手机号中奖四位用****替代) (身份证号只显示后六位)

SELECT Passenger.旅客姓名, CONCAT(SUBSTRING(Passenger.电话号码, 1, LENGTH(Passenger.电话号码)-4), '****') AS 手机号, Passenger.性别, SUBSTRING(Passenger.身份证号码, LENGTH(Passenger.身份证号码)-5) AS 身份证号后六位 FROM User LEFT JOIN Passenger ON User.用户名 = Passenger.用户名 WHERE User.用户名 = 'A1'


原文地址: http://www.cveoy.top/t/topic/h71v 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录