Maison base de données tutoriel mysql 数据库SQL学习的经典案例:学生专业老师分数表的操练

数据库SQL学习的经典案例:学生专业老师分数表的操练

Jun 07, 2016 pm 02:58 PM
sql 专业 Fraction 学习 étudiant 数据库 professeur

数据库SQL学习的经典案例:学生专业老师分数表的操练;针对一个问题------选了课程1而没有选课程2的学生有哪些? 下面的SQL语句是各个不同的写法,整理下~ 无 mysql desc SC;+-------+---------------+------+-----+---------+-------+| Field | Type | Null

数据库SQL学习的经典案例:学生专业老师分数表的操练;针对一个问题------选了课程1而没有选课程2的学生有哪些?

下面的SQL语句是各个不同的写法,整理下~
mysql> desc SC;
+-------+---------------+------+-----+---------+-------+
| Field | Type          | Null | Key | Default | Extra |
+-------+---------------+------+-----+---------+-------+
| S_id  | varchar(10)   | YES  |     | NULL    |       |
| C_id  | varchar(10)   | YES  |     | NULL    |       |
| score | decimal(18,1) | YES  |     | NULL    |       |
+-------+---------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

mysql> select * from SC;
+------+------+-------+
| S_id | C_id | score |
+------+------+-------+
| 01   | 01   |  80.0 |
| 01   | 02   |  90.0 |
| 01   | 03   |  99.0 |
| 02   | 01   |  70.0 |
| 02   | 02   |  60.0 |
| 02   | 03   |  80.0 |
| 03   | 01   |  80.0 |
| 03   | 02   |  80.0 |
| 03   | 03   |  80.0 |
| 04   | 01   |  50.0 |
| 04   | 02   |  30.0 |
| 04   | 03   |  20.0 |
| 05   | 01   |  76.0 |
| 05   | 02   |  87.0 |
| 06   | 01   |  31.0 |
| 06   | 03   |  34.0 |
| 07   | 02   |  89.0 |
| 07   | 03   |  98.0 |
| 08   | 04   |  79.0 |
| 11   | 03   |  77.9 |
| 12   | 02   |  47.9 |
| 12   | 04   |  47.9 |
| 11   | 01   |  77.9 |
| 01   | 04   |  73.9 |
| 01   | 05   |  83.9 |
| 06   | 04   |  75.0 |
| 06   | 05   |  85.0 |
| 11   | 05   |  81.0 |
| 11   | 04   |  91.0 |
+------+------+-------+
29 rows in set (0.00 sec)


--1
select B.* from SC B where B.C_id = '01' 
and not exists(select * from SC B2 where B.S_id = B2.S_id and B2.C_id = '02');

--2
select * from 
(select B.S_id, B.C_id aC_id, B.score ascore, B2.C_id bC_id, B2.score bscore 
from SC B inner join SC B2 
on B.S_id = B2.S_id and B.C_id = '01' and B2.C_id != '01') 
BBB 
where not exists 
(select * from (select B.S_id, B.C_id aC_id, B.score ascore, B2.C_id bC_id, B2.score bscore 
from SC B inner join SC B2 
on B.S_id = B2.S_id and B.C_id = '01' and B2.C_id != '01') 
CCC where BBB.S_id = CCC.S_id and CCC.bC_id = '02' );

--3
select * from SC where C_id = '01' 
and S_id not in 
(select distinct S_id from SC where C_id = '02');

--4
select B.S_id, B.C_id aC_id, B.score ascore, B2.C_id bC_id, B2.score bscore 
from SC B inner join SC B2 
on B.S_id = B2.S_id and B.C_id = '01' and B2.C_id != '01' 
group by S_id having (aC_id, bC_id) != ('01','02');

--5
select B.*, B2.* from SC B left join SC B2 
on B.S_id = B2.S_id and B2.C_id = '02' 
where B.C_id = '01' and B2.C_id is null;

--6
select B.*, B2.* from SC B right join SC B2 
on B.S_id = B2.S_id and B.C_id = '02' 
where B2.C_id = '01' and B.C_id is null;

--7
select B.S_id, B.C_id aC_id, B.score ascore, B2.C_id bC_id, B2.score bscore 
from SC B inner join SC B2 
on B.S_id = B2.S_id and B.C_id = '01' 
and B2.C_id != '01' 
group by S_id having nullif(bC_id, '02') >> 1;
Copier après la connexion
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

iOS 18 ajoute une nouvelle fonction d'album 'Récupéré' pour récupérer les photos perdues ou endommagées iOS 18 ajoute une nouvelle fonction d'album 'Récupéré' pour récupérer les photos perdues ou endommagées Jul 18, 2024 am 05:48 AM

Les dernières versions d'Apple des systèmes iOS18, iPadOS18 et macOS Sequoia ont ajouté une fonctionnalité importante à l'application Photos, conçue pour aider les utilisateurs à récupérer facilement des photos et des vidéos perdues ou endommagées pour diverses raisons. La nouvelle fonctionnalité introduit un album appelé "Récupéré" dans la section Outils de l'application Photos qui apparaîtra automatiquement lorsqu'un utilisateur a des photos ou des vidéos sur son appareil qui ne font pas partie de sa photothèque. L'émergence de l'album « Récupéré » offre une solution aux photos et vidéos perdues en raison d'une corruption de la base de données, d'une application d'appareil photo qui n'enregistre pas correctement dans la photothèque ou d'une application tierce gérant la photothèque. Les utilisateurs n'ont besoin que de quelques étapes simples

Tutoriel détaillé sur l'établissement d'une connexion à une base de données à l'aide de MySQLi en PHP Tutoriel détaillé sur l'établissement d'une connexion à une base de données à l'aide de MySQLi en PHP Jun 04, 2024 pm 01:42 PM

Comment utiliser MySQLi pour établir une connexion à une base de données en PHP : Inclure l'extension MySQLi (require_once) Créer une fonction de connexion (functionconnect_to_db) Appeler la fonction de connexion ($conn=connect_to_db()) Exécuter une requête ($result=$conn->query()) Fermer connexion ( $conn->close())

Comment gérer les erreurs de connexion à la base de données en PHP Comment gérer les erreurs de connexion à la base de données en PHP Jun 05, 2024 pm 02:16 PM

Pour gérer les erreurs de connexion à la base de données en PHP, vous pouvez utiliser les étapes suivantes : Utilisez mysqli_connect_errno() pour obtenir le code d'erreur. Utilisez mysqli_connect_error() pour obtenir le message d'erreur. En capturant et en enregistrant ces messages d'erreur, les problèmes de connexion à la base de données peuvent être facilement identifiés et résolus, garantissant ainsi le bon fonctionnement de votre application.

Guangzhou prévoit de stipuler que les écoles primaires et secondaires peuvent interdire aux élèves d'apporter des téléphones portables, et que ceux autorisés à apporter devraient être gérés de manière uniforme. Guangzhou prévoit de stipuler que les écoles primaires et secondaires peuvent interdire aux élèves d'apporter des téléphones portables, et que ceux autorisés à apporter devraient être gérés de manière uniforme. Jun 16, 2024 pm 08:00 PM

Selon les informations du 16 juin, le 15 juin, le site Web officiel et le compte public de l'Assemblée populaire municipale de Guangzhou ont publié le « Règlement sur la promotion de la santé mentale des élèves des écoles primaires et secondaires de Guangzhou (projet révisé et projet pour commentaires) ». pour solliciter des opinions et des suggestions de tous les horizons. Parmi eux, l'article 14 du « Règlement » est intitulé « Empêcher les téléphones mobiles et autres terminaux intelligents d'entrer dans les campus » et les dispositions spécifiques sont les suivantes : Les parents ou autres tuteurs des élèves du primaire et du secondaire doivent restreindre strictement l'utilisation par leurs enfants de les téléphones mobiles et autres produits terminaux intelligents. Les enfants du produit doivent réglementer le lieu, la période, la durée, la fréquence, le contenu, les fonctions, les autorisations et d'autres questions d'utilisation, et coopérer avec l'école pour interdire ou restreindre l'utilisation des téléphones mobiles et des étudiants. d'autres produits de terminaux intelligents sur le campus. Les écoles peuvent interdire aux étudiants d’apporter des téléphones portables et autres terminaux intelligents à l’école ou de les utiliser sur le campus.

Comment utiliser les fonctions de rappel de base de données dans Golang ? Comment utiliser les fonctions de rappel de base de données dans Golang ? Jun 03, 2024 pm 02:20 PM

L'utilisation de la fonction de rappel de base de données dans Golang peut permettre : d'exécuter du code personnalisé une fois l'opération de base de données spécifiée terminée. Ajoutez un comportement personnalisé via des fonctions distinctes sans écrire de code supplémentaire. Des fonctions de rappel sont disponibles pour les opérations d'insertion, de mise à jour, de suppression et de requête. Vous devez utiliser la fonction sql.Exec, sql.QueryRow ou sql.Query pour utiliser la fonction de rappel.

Comment se connecter à une base de données distante à l'aide de Golang ? Comment se connecter à une base de données distante à l'aide de Golang ? Jun 01, 2024 pm 08:31 PM

Grâce au package base de données/sql de la bibliothèque standard Go, vous pouvez vous connecter à des bases de données distantes telles que MySQL, PostgreSQL ou SQLite : créez une chaîne de connexion contenant les informations de connexion à la base de données. Utilisez la fonction sql.Open() pour ouvrir une connexion à la base de données. Effectuez des opérations de base de données telles que des requêtes SQL et des opérations d'insertion. Utilisez defer pour fermer la connexion à la base de données afin de libérer des ressources.

Comment gérer les connexions et les opérations de base de données en utilisant C++ ? Comment gérer les connexions et les opérations de base de données en utilisant C++ ? Jun 01, 2024 pm 07:24 PM

Utilisez la bibliothèque DataAccessObjects (DAO) en C++ pour connecter et exploiter la base de données, notamment en établissant des connexions à la base de données, en exécutant des requêtes SQL, en insérant de nouveaux enregistrements et en mettant à jour les enregistrements existants. Les étapes spécifiques sont : 1. Inclure les instructions de bibliothèque nécessaires ; 2. Ouvrir le fichier de base de données ; 3. Créer un objet Recordset pour exécuter des requêtes SQL ou manipuler des données ; 4. Parcourez les résultats ou mettez à jour les enregistrements en fonction de besoins spécifiques.

Connexions PHP à différentes bases de données : MySQL, PostgreSQL, Oracle et plus Connexions PHP à différentes bases de données : MySQL, PostgreSQL, Oracle et plus Jun 01, 2024 pm 03:02 PM

Guide de connexion à la base de données PHP : MySQL : Installez l'extension MySQLi et créez une connexion (nom du serveur, nom d'utilisateur, mot de passe, nom de base de données). PostgreSQL : installez l'extension PgSQL et créez une connexion (hôte, nom de base de données, utilisateur, mot de passe). Oracle : Installez l'extension OracleOCI8 et créez une connexion (nom du serveur, nom d'utilisateur, mot de passe). Cas pratique : Obtenir des données MySQL, requête PostgreSQL, enregistrement de mise à jour OracleOCI8.

See all articles