查询patient表中dpname里属于脑科的pname所有信息
时间: 2024-01-04 17:02:40 浏览: 65
可以使用如下的SQL语句查询patient表中dpname里属于脑科的pname所有信息:
```
SELECT * FROM patient WHERE dpname LIKE '%脑科%' AND pname IS NOT NULL;
```
其中,"patient"为表名,"dpname"和"pname"为patient表中的字段名。这条SQL语句使用了LIKE运算符,配合通配符%实现了模糊匹配,因此可以找到所有dpname里属于脑科的记录,同时使用IS NOT NULL过滤掉pname为空的记录。
相关问题
针对供应管理数据库SPJ,进行各种嵌套与集合查询供应管理数据库SPJ模式: 供应商表S(SNO,SNAME,STAT,CITY) 零部件表P(PNO,PNAME,COLOR,WT) 工程项目表J(JNO,JNAME,CITY) 供应情况表SPJ(SNO,PNO,JNO,QTY):(7)查询使用了“S002”供应的“螺母”零件的工程信息; (8)查询使用了 “螺母”零件的工程信息及相应供应商信息; (9)查询给“长春一汽”项目供应零件的供应商信息和供应情况; (10)查询给“长春一汽”项目供应“螺母”零件最多的供应商信息和供应情况; (11)查询使用了“螺母”或“螺丝刀”零件的工程项目信息; (12)查询既使用了“螺母”又使用了“螺丝刀”零件的工程项目信息; (13)查询使用了“螺母”零件但没有使用“螺丝刀”零件的工程项目信息; (14)查询使用过所有供应商供应的零件的工程项目信息。
(7) SELECT JNO, JNAME, CITY FROM J WHERE JNO IN (SELECT JNO FROM SPJ WHERE PNO IN (SELECT PNO FROM P WHERE PNAME = '螺母') AND SNO = 'S002');
(8) SELECT DISTINCT J.JNO, J.JNAME, J.CITY, S.SNO, S.SNAME, S.STAT, S.CITY FROM J, S, SPJ WHERE J.JNO = SPJ.JNO AND S.SNO = SPJ.SNO AND SPJ.PNO IN (SELECT PNO FROM P WHERE PNAME = '螺母');
(9) SELECT DISTINCT S.SNO, S.SNAME, S.STAT, S.CITY, SPJ.QTY FROM S, SPJ WHERE S.SNO = SPJ.SNO AND SPJ.JNO = (SELECT JNO FROM J WHERE JNAME = '长春一汽');
(10) SELECT TOP 1 S.SNO, S.SNAME, S.STAT, S.CITY, SPJ.QTY FROM S, SPJ WHERE S.SNO = SPJ.SNO AND SPJ.JNO = (SELECT JNO FROM J WHERE JNAME = '长
创建product表:商品编号pid(int,主键),商品名称pname,商品类别category_id(int,外键)。 创建category表:类别编号cid(int,主键),类别名称cname。 实现以下功能(在MyBatis中,多对一的关系简化成了一对一): (1) 用嵌套查询的方式实现:查询商品信息及对应的类别信息; (2) 用嵌套结果的方式实现:查询商品信息及对应的类别信息; 用连接查询实现:查询商品信息及对应的类别信息;(可以用pojo或map存储结果集)
好的,针对你的问题,我来逐一回答:
1. 嵌套查询方式实现查询商品信息及对应的类别信息:
```xml
<select id="findProductsWithCategoryByNestedSelect" resultMap="productWithCategoryMap">
SELECT p.pid, p.pname, p.category_id, c.cid, c.cname
FROM product p, category c
WHERE p.category_id = c.cid AND p.pid = #{pid}
</select>
```
2. 嵌套结果方式实现查询商品信息及对应的类别信息:
```xml
<select id="findProductsWithCategoryByNestedResult" resultMap="productWithCategoryMap">
SELECT p.pid, p.pname, c.cid, c.cname
FROM product p
LEFT JOIN category c ON p.category_id = c.cid
WHERE p.pid = #{pid}
</select>
```
3. 连接查询方式实现查询商品信息及对应的类别信息:
```xml
<select id="findProductsWithCategoryByJoin" resultMap="productWithCategoryMap">
SELECT p.pid, p.pname, c.cid, c.cname
FROM product p
LEFT JOIN category c ON p.category_id = c.cid
WHERE p.pid = #{pid}
</select>
```
对应的 resultMap 配置为:
```xml
<resultMap id="productWithCategoryMap" type="map">
<id property="pid" column="pid"/>
<result property="pname" column="pname"/>
<association property="category" javaType="map">
<id property="cid" column="cid"/>
<result property="cname" column="cname"/>
</association>
</resultMap>
```
以上就是实现查询商品信息及对应的类别信息的三种方式了,注意在第一种方式中使用了嵌套查询,而第二种和第三种方式中使用了嵌套结果和连接查询。同时,三种方式中都使用了 resultMap 来映射查询结果。
阅读全文