数据库
首页 > 数据库> > MySQL--外联语句练习

MySQL--外联语句练习

作者:互联网

-- createholy, 1, 50
CREATE DATABASE wl;
DROP TABLE msp;
DROP TABLE party;

CREATE TABLE party (
  partyCode VARCHAR(10) NOT NULL, -- 编号
  partyName VARCHAR(50), -- 名称
  leader VARCHAR(50), -- 领导者
  PRIMARY KEY (partyCode)
)DEFAULT CHARSET=utf8;

CREATE TABLE msp (

  mspName VARCHAR(50) NOT NULL -- 编号
  party VARCHAR(10), -- 政党
  constituency VARCHAR(50), -- 支持者
  PRIMARY KEY (mspName),
  FOREIGN KEY (party) REFERENCES party(partyCode),
)DEFAULT CHARSET=utf8;

 

SELECT * FROM party;
SELECT * FROM msp;

-- 找出没有政党的议员
SELECT * FROM msp WHERE party IS NULL

-- 列出所有的政党和领导者
SELECT partyName,leader FROM party

-- 列出所有有领导者的政党
SELECT * FROM party WHERE leader IS NOT NULL

-- 列出至少有一个议员的政党
SELECT p.* FROM party p,msp m WHERE p.partyCode=m.party GROUP BY p.partyCode

-- 列出所有议员名字和他们所属政党
SELECT m.mspName,p.partyName FROM msp m LEFT JOIN party p ON p.partyCode=m.party

-- 列出所有政党和每个政党议员人数
SELECT p.partyName,COUNT(m.mspName) FROM party p JOIN msp m ON p.partyCode=m.party GROUP BY p.partyCode

标签:语句,partyCode,VARCHAR,政党,msp,外联,MySQL,party,SELECT
来源: https://www.cnblogs.com/xieshilin/p/11780219.html